.. include:: ../icons.inc .. _inres1-case: Inres1 case ----------- This tutorial contains a step-by-step procedure of how to prepare and run the *Inres1* case (see :numref:`doxid-index_1sec3T1` for more details). The step-by-step case preparation procedure starts at subsection :ref:`inres1-case-meshing`. For benchmark and testing purposes, an already prepared case is available too and the instructions how to run it can be found in next subsection :ref:`inres1-case_prepared`. .. _inres1-case_prepared: Running prepared Inres1 case ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This tutorial subsection contains brief instructions on how to open and run the prepared Inres1 case used as a benchmark case and intended also as a testing case for SMITER. The HDF case file can be found in :file:`smiter/salome/study/deck/Test-EQ3-inrshad1-inres1.hdf`. If the file is not found then, while in the :file:`smiter/salome` directory, fetch the HDF file by running the next command in the terminal: .. code-block:: bash $ make -C study/deck To run the case, proceed to open the HDF file by navigating in the menu to :menuselection:`&File --> &Open` and selecting the HDF file in the file browser. Next, activate the :guilabel:`SMITER` module, then locate the ``Smiter`` tree found within the :guilabel:`Object Browser`, expand it, right-click on the gear icon |case_right_icon| of the SMITER case and select the :guilabel:`Compute case` option. If everything goes well then the results shown in :numref:`fig_paravis_inres1` should appear within a minute. .. _inres1-case-meshing: Mesh preparation ~~~~~~~~~~~~~~~~ In this subsection will be shown how to prepare meshes for running the case. .. note:: An alternative to the manual mesh preparation, using IMAS, is presented in section :ref:`inres1-case-imas`. For Inres1 case, the next three meshes are required: * Wall mesh, * Target mesh and * Shadow mesh Wall mesh ^^^^^^^^^ Wall mesh is already embedded in SMITER and it can be created by pressing the |wallmesh_icon| icon. Tick the :guilabel:`smiterauxWallMesh` and press the :guilabel:`Apply` button. The mesh will then be added to the :guilabel:`MESH` module. .. image:: images/inres1_create_wall_mesh_gui.* :align: center :width: 30% .. image:: images/inres1_mesh_wall.* :align: center :width: 20% .. note:: In later stages, after the SMITER case has been created (section :ref:`inres1_case_preparation`), a wall mesh can also be generated out from the :file:`.eqdsk` file using the :guilabel:`MESH LIMITER`. Note that the ``smiterauxWallMesh`` used in this tutorial and the wall mesh, generated from the :file:`.eqdsk`, might be different from each other (this can easily be checked by displaying the wall meshes in the :guilabel:`MESH` module). This will then result in differences between the obtained calculation results! .. image:: images/inres1_MESH_LIMITER.png :align: center :width: 50% Target mesh ^^^^^^^^^^^ There are two ways of creating a target mesh for the Inres1 case. First one is to import the STEP format file of the target into the :guilabel:`GEOM module` and then mesh it in the SMESH module. The second option is to import the NASTRAN file, containing the prepared target mesh, directly into :guilabel:`SMITER` module. In this tutorial both options will be explored and presented. Meshing of target using STEP file """"""""""""""""""""""""""""""""" In this subsection the procedure of creating the target mesh from STEP file format is presented. First it is required to import the STEP file (``.stp`` or ``.step``) into :guilabel:`GEOM module`. The STEP file contains Inres1 target CAD model. Then the meshing procedure is to be done within the :guilabel:`SMESH` module. The :guilabel:`GEOM` module is able to work with many different file formats from which the CAD models can be imported or either exported from the :guilabel:`GEOM` module itself. To import the STEP file, move to the ``GEOM`` module. This is done by clicking on icon |geometry_module_icon| in the upper toolbar. Once inside the :guilabel:`GEOM` module, navigate to :menuselection:`&File --> Import`, and select ``STEP``. .. image:: images/geomImportStep.png :align: center In the opened file browser, navigate to *smiter/salome/study/tutorial* and select *inres1_target.stp*. A window will appear, asking if the conversion to meters is required. If option :guilabel:`No` is selected, the units will be set in milimeters, otherwise the units for the model will be in meters. .. image:: images/geomWarningMilimeters.png :align: center Now move to the :guilabel:`Object Browser`, where it can be observed that the geometry model, imported from the STEP file, was added to the :guilabel:`GEOM` module. Here the name of the model can be changed by right clicking on the name in the :guilabel:`Object Broswer` and setting its name to *inres1_target*. .. image:: images/geomRenameObject.png :align: center Next, move to the :guilabel:`SMESH` module by clicking on the |mesh_module_icon| icon. In this module many different operations can be done, such as translation and rotation of meshes, control quality of meshes and generation of meshes from CAD models. .. image:: images/geomInres1Target.png :align: center In order create a mesh from a CAD model, a meshing algorithm must first be applied to it. From the top toolbar found in the Smiter window naviage to :menuselection:`&Mesh --> Create Mesh`. .. image:: images/smeshCreateMesh.png :align: center In the popup window, type the name of the new mesh. Then select the geometry object on which the mesh operation is to be done. Select *inres1_target* found in the :guilabel:`Object Browser` The name will then be shown in the dialog. For *Mesh type* there are multiple options that will not be covered in this tutorial. For more information on creating meshes in SMESH module please refer to `SMESH Documentation `_ . In this tutorial the CAD model will be meshed with triangles that are are equally distributed in all sections of the model. Click on ``Assign a set of hypotheses`` and select :menuselection:`2D: Automatic Triangulation`. .. image:: images/smeshCreateMeshDialog.png :align: center New dialog ``Hypothesis Construction`` shows up. Here the name of the hypothesis can be defined and the maximum length of the triangle edge. .. image:: images/smeshHypothesisConstruction.png :align: center .. note:: Lower maximum length of the triangle means higher number of triangles. Creation of mesh with higher triangle density means longer computational time. In this tutorial leave the length as already suggested by Smiter (around 120 mm). Then click the :guilabel:`OK` button and then the :guilabel:`Apply and close` button. In the :guilabel:`Object Browser` a new SMESH object was created. By expanding it the hypotheses definition can be seen there. Then right click on the mesh and select :guilabel:`Compute`. If the computation is successful, the dialog with the mesh informations will pop up. This dialog contains information about number of different types of elements. .. image:: images/smeshComputeMesh.png :align: center .. image:: images/smeshMeshComputationSucceed.png :align: center :width: 70% The mesh creation is now completed and it can be used as a target mesh for the SMITER cases. .. image:: images/smeshInres1Generated.png :align: center :width: 20% Importing the mesh from the NASTRAN file """""""""""""""""""""""""""""""""""""""" Use the :guilabel:`NASTRAN to MESH` tool by clicking on |mesh_icon| button. Click on the input file browser and proceed to navigate to directory ``smiter-aux/Data/Geometry/`` and select the file named ``inres1.dat``. Furthermore, set a name for the new mesh, in this case ``Target``, and press :guilabel:`Apply`. .. image:: images/inres1_import_mesh_target_gui.* :align: center :width: 30% .. image:: images/inres1_mesh_target.* :align: center :width: 20% Shadow mesh ^^^^^^^^^^^ Use the :guilabel:`NASTRAN to MESH` tool again by either working in the same :guilabel:`Nastran to MESH` GUI window, opened in the previous ``Target mesh`` step, or open a new one by clicking on |mesh_icon| button. Click on the input file browser and proceed to navigate to directory ``smiter-aux/Data/Geometry/`` and select the file named inrshad1.dat . Furthermore, set a name for the new mesh, in this case ``Shadow``, and press :guilabel:`Apply`. .. image:: images/inres1_import_mesh_shadow_gui.* :align: center .. image:: images/inres1_mesh_shadow.* :align: center :width: 20% .. _inres1_case_preparation: Case preparation ~~~~~~~~~~~~~~~~ .. note:: The procedure how to compute a SMITER case is presented also on the next weblink: https://www.youtube.com/watch?v=ponafnCbm00&list=PLYdrXWbVnKXHzAAfCXw5SDpTDmoKmZFuv&index=3 Now go back to the :guilabel:`SMITER` module. To start a new case, click on the |newcase_icon| icon from SMITER toolbar. A new dialog window will appear on the screen. Here the name of the case, decay length and power loss can be set. Next, choose the wall, target and shadow meshes, created in the previous steps. Finally add the equilibrium file ``EQ3.eqdsk``, found in ``smiter-aux/Data/Equilibrium/`` directory, by selecting it in the file browser. .. image:: images/inres1_create_new_case_gui.png :align: center :width: 50% List of geometry and equilibrium files used in this study are shown below. Geometry files are found in ``smiter-aux/Data/Geometry/`` and equilibrium files can be found in ``smiter-aux/Data/Equilibrium/``. +---------------------+--------------------------------------------+ | Wall mesh | Generated using the |wallmesh_icon| tool | +---------------------+--------------------------------------------+ | Target mesh | inres1.dat | +---------------------+--------------------------------------------+ | Shadow mesh | inrshad1.dat | +---------------------+--------------------------------------------+ | Equilibrium file | EQ3.eqdsk | +---------------------+--------------------------------------------+ After the required parameters were added or changed, the changes are saved by clicking the :guilabel:`Apply` button and then closing the dialog window. In the :guilabel:`Object Browser`, by right-clicking on the |runsmiter_icon| icon and selecting the :guilabel:`Expand All` option, the full structure of our case will be shown including the ``geoq``, ``hdsgen`` and ``powcal`` SMITER case objects. .. image:: images/inres1_4.png :align: center .. In geoq object, under the appropriate labels we can see the names of .. the meshes we selected. If we right-click on one of them, we can .. replace mesh with ``Replace mesh``. If we right-click on selected .. mesh, we can click ``Edit ctl`` to edit ctl manually. New dialog with .. text editor appears and we can modify ``.ctl`` file as we want. .. image:: images/inres1_SmiterCase_tree.png :align: center :width: 40% If a change or addition of a specific parameter in the ``.ctl`` file is required, right click on mesh and select the :guilabel:`Edit ctl` option. A dialog window with tabs of group of parameters will open and there the parameter values can be changed. For ``inres1`` case the following parameters must be changed: smiter-aux: - ``beq_cenopt``: 4 - ``beq_bdryopt``: 3 - ``beq_deltheta``: 0. - ``beq_rmove``: -6 target: - ``plot_geoqx``: [x] - ``plot_geoqm``: [x] - ``plot_gnum``: [x] - ``plot_gnusil``: [x] - ``plot_gnusilm``: [x] - ``beq_cenopt``: 4 - ``beq_psiopt``: 2 - ``beq_thetaopt``: 2 - ``beq_deltheta``: 0. - ``beq_rmove``: -6 - ``beq_psiref``: PSIREF shadow: - ``plot_geoqx``: [x] - ``plot_geoqm``: [x] - ``plot_gnum``: [x] - ``plot_gnusil``: [x] - ``plot_gnusilm``: [x] - ``beq_cenopt``: 4 - ``beq_psiopt``: 2 - ``beq_bdryopt``: 5 - ``beq_thetaopt``: 2 - ``beq_deltheta``: 0. - ``beq_rmove``: -6 - ``beq_psiref``: PSIREF Hdsgen: - ``limit_geobj_in_bin``: 20 - ``geometrical_type``: 2 - ``margin_type``: 2 - ``tree_nxyz``: 1,2,2 - ``tree_ttalg``: 2 - ``tree_type``: 3 - ``position_tranform``: 1 - ``plot_hdsm``: [x] - ``plot_hdsq``: [x] - ``plot_geobjq``: [x] - ``plot_geoptq``: [x] Powcal: - ``plot_powx``: [x], - ``calculation_type``: 'local' - ``power_loss``: 7.5e+06 - ``shadow_control``: 1 - ``more_profiles``: .true. - ``rel_error``: 1.e-4 - ``abs_error``: 1.e-4 - ``initial_dt``: 0.01 - ``max_zeta``: 6. .. image:: images/inres1_5.png :align: center :width: 40% .. warning:: Note that you should be familiar with the type of parameter that you want to add or change in order to input it correctly. If the type of input parameter is incorrect, computation will return error. For more information you should check **SMITER documentation**. After the required parameters are set, press the :guilabel:`Apply` button and then close the dialog window. Case computation ~~~~~~~~~~~~~~~~ With the case prepared, the case calculation can be run. That is done by going to the created case |case_right_icon| icon found in the :guilabel:`Object Browser`, right clicking on it and selecting the :guilabel:`Compute case` option. .. image:: images/inres1_compute_case.png :align: center :width: 50% From there the computation will start and the computation process can be observed in the :guilabel:`SMITER Output` window located below the :guilabel:`Object Browser`. In it the process of all codes is displayed. .. image:: images/inres1_compute_case_output.png :align: center :width: 50% .. note:: In case the :guilabel:`SMITER Output` is hidden, activate it by navigating to :guilabel:`View` -> :guilabel:`Windows` and then check the :guilabel:`SMITER Output` option. .. image:: images/inres1_smiter_output_tick.png :align: center :width: 80% If the computation is successfully completed, the message ``Finished batch of commands. Status: Passed.`` is displayed in the bottom of the :guilabel:`SMITER Output` window. Furthermore, the :guilabel:`PARAVIS` module might be auto-opened, displaying the results that are suitable to be viewed with it. .. .ctl files, that need to be included to test case: .. +---------------------+--------------------------------+---------------------------------------------+ .. | | ctl.files | directory of .ctl files | .. +=====================+================================+=============================================+ .. | geoq | inres1.ctl (target geometry) | /smiter-aux/Test-EQ3-inrshad1-inres1/S/ | .. | +--------------------------------+---------------------------------------------+ .. | | inrshad1.ctl (shadow geometry)| /smiter-aux/Test-EQ3-inrshad1-inres1/S/ | .. +---------------------+--------------------------------+---------------------------------------------+ .. | hdsgen | inrshad1.dat | /smiter-aux/Test-EQ3-inrshad1-inres1/H/ | .. +---------------------+--------------------------------+---------------------------------------------+ .. | powcal | inres1.ctl | /smiter-aux/Test-EQ3-inrshad1-inres1/P/ | .. +---------------------+--------------------------------+---------------------------------------------+ Result analysis ~~~~~~~~~~~~~~~ Power deposition ^^^^^^^^^^^^^^^^ The power deposition results should be automatically displayed in the :guilabel:`ParaViS` module after completed computation. In case that this did not occur, activate the :guilabel:`PARAVIS` module by clicking on the |paravis_icon| icon in the toolbar or by selecting it from the module list. .. image:: images/inres1_open_paravis.png :align: center :width: 15% In the :guilabel:`Pipeline Browser` on the left viewable objects are listed. To view the power deposition results click on the |visiblemesh_icon| icon and the power deposition results will be displayed in the :guilabel:`RenderView` window. .. image:: images/inres1_paravis_pipeline_browser.png :align: center :width: 50% .. index:: Paravis module .. _fig_paravis_inres1: .. figure:: images/inres1_7.png :align: center :width: 75% :alt: Paravis module. Inres1 results in ParaViS module .. note:: The displayed results are actually a VTK file, temporary stored in as ``/tmp/SmiterCase/P/powcal_pow.vtk``. If needed, the file can be manually opened by clicking on the |pipeline_icon| icon in the :guilabel:`Pipeline Browser` and then navigating to the mentioned file. The exact path to the ``powcal_pow.vtk`` file depends on the name of the case as well as on the working directory. .. note:: The :menuselection:`ParaVis` module is actually complete `ParaView `_ tool embedded inside SALOME framework with additional plugins that allow interoperable object referencing (IOR) through `CORBA `_. .. note:: A cautionary advice. Whenever you display a VTK file inside ParaViS, it is good to always reset the color scales, if there are any, to the range of the data stored in the VTK. Plotting the plasma flux contour ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The steps to view the plot of the plasma flux contour are: 1. Open :guilabel:`Smiter` module 2. Navigate to the :guilabel:`Object Browser` 3. Expand the SMITER case object tree (either by right clicking on the |case_right_icon| icon and selecting :guilabel:`Expand All` or clicking on the tree arrow besides the icon) 4. Right click on the ``.eqdsk`` object, marked with |eqdsk_icon| icon 5. Select the :guilabel:`Plot plasma and limiter geometry` option. Then the plasma flux contour plot will be shown in the :guilabel:`Viewer` window. .. image:: images/inres1_plot_eqdsk.png :align: center :width: 50% .. note:: The plot of the plasma flux contour is created from the loaded ``.eqdsk`` file and using Python plotting library ``matplotlib``. .. index:: LCFS plot .. image:: images/inres1_6.png :align: center :alt: Last closed heat flux surface. Fieldline tracing ~~~~~~~~~~~~~~~~~ In this subsection the preparation procedure of the fieldline tracing for this case and the procedure of displaying the results will be presented. Edit and recompute Powcal ^^^^^^^^^^^^^^^^^^^^^^^^^ First the ``Powcal`` of this SMITER case needs to be edited and recomputed. ``Powcal`` can be edited by right clicking on its name found in the SMITER case object tree and selecting ``edit .ctl``. Next, in the opened window select :guilabel:`plotselection` tab, check the ``plot_flinx`` |plot_flinx| option and press :guilabel:`Apply`. .. image:: images/fieldline_tracing_1.png :align: center :alt: Marking plot_flinx .. note:: For larger cases, when multiple fieldlines need to be collected, the plugin described in :ref:`fieldlines_to_hdf5` can be used. The ``Powcal`` is now ready to be recomputed. To recompute only the ``Powcal``, right click on the SMITER case |case_right_icon| icon and select the :guilabel:`Compute POWCAL` option. .. image:: images/fieldline_tracing_2.png :align: center :alt: Compute POWCAL Cell selection on the target ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ After the ``Powcal`` computation is finished, activate the :guilabel:`ParaViS` module |paravis_icon|. A new object will be shown in the :guilabel:`Pipeline Browser`, representing the target with corresponding Q values to the mesh elements. Turn on the display of this object by clicking the |visiblemesh_icon| icon left of the object label. The mesh and corresponding values will be shown in the :guilabel:`RenderView` window. .. image:: images/inres1_target_render_view.png :align: center Next, check if the :guilabel:`Selection Display Inspector` is shown on the left side in the ``ParaViS`` window. If it is hidden, it can be shown by navigating in the top menu bar :guilabel:`View` -> :guilabel:`Windows` submenu and checking the :guilabel:`Selection Display Inspector` |selection_inspector|. .. image:: images/fieldline_tracing_6.png :align: center :alt: Display the selection inspector With the :guilabel:`Selection Display Inspector` shown, turn on the :guilabel:`ID` box in the :guilabel:`Cell Labels` list. This will now allow us see the the ID of the mesh element in the next step. .. image:: images/fieldline_tracing_7.png :align: center :alt: Display the triangle ID Next, select a triangle cell in the mesh for which you want to get the fieldline. That can done by using the tools on the the :guilabel:`Render View` menu |Layout|, either :guilabel:`Select cells on` |select_cells_on| (also `S` keyboard button) or :guilabel:`Interactive Select Cells On` |interactive_select_cells_icon| Select the triangle as shown in the following figure. In this tutorial the cell with the ID ``1945`` was selected. .. image:: images/fieldline_tracing_8.png :align: center :alt: Triangle ID Set fieldline trace ^^^^^^^^^^^^^^^^^^^ Next, the files containing fieldline traces are required to be opened in :guilabel:`ParaVis` module. This is done by right clicking on the |pipeline_icon| icon in the :guilabel:`Pipeline Browser` and selecting :guilabel:`Open` option. .. image:: images/fieldline_tracing_3.png :align: center :alt: Opening a new file in pipeline browser Proceed to navigate to files located in ``/tmp/{SMITER_case_name}/P``, select the ``trackx.vtk`` file (it is actually a set of files) and press :guilabel:`OK`. .. image:: images/fieldline_tracing_4.png :align: center :alt: Location of the fieldline traces A new object named ``trackx000*`` will be shown :guilabel:`Pipeline Browser`. In the ``Time control`` entry |time_id|, located on the right upper corner of the ``ParaViS`` window, insert the ``ID`` of the triangle, in this case ``1945``, and press Enter. Then proceed to set on the visibility of the ``trackx000*`` in :guilabel:`Pipeline Browser` and the fieldline trace for the selected cell will be shown in the ``ParaVis`` :guilabel:`Render View` window. .. image:: images/fieldline_tracing_9.png :align: center :alt: Fieldline trace for chosen triangle Set the remaining meshes ^^^^^^^^^^^^^^^^^^^^^^^^ Shadow """""" To show the shadow in ``ParaView``, activate the ``Smiter`` module and click on the ``Show MESH/GEOM in ParaView`` |ior_paraview_icon| dialog. Select and highlight the shadow mesh, found in the ``Object Browser`` under the ``Mesh`` object tree, and click on :guilabel:`Apply` on the dialog. If the dialog doesn't close by itself, press the :guilabel:`Close` button. .. image:: images/fieldline_tracing_10.png :align: center :alt: Display mesh in ParaView with the ``Show MESH/GEOM in ParaVis`` dialog Now the shadow mesh too will be available in ``ParaVis``. Head back to the ``ParaVis`` module and turn on the display of the shadow. .. image:: images/fieldline_tracing_11.png :align: center :alt: Shadow mesh displayed in ParaVis LCFS """" The obtained fieldline traces are correct if they end on the ``LCFS``. To check that, first go back to the :menuselection:`Smiter` module, right click on ``EQ3.eqdsk`` and select :menuselection:`MESH LCFS` option. This will create the ``LCFS mesh``. .. image:: images/fieldline_tracing_12.png :align: center :alt: Mesh LCFS of EQ3.eqdsk Next, the same as for the shadow mesh, click on ``Show MESH/GEOM in ParaView`` |ior_paraview_icon|, highlight the ``LCFS-EQ3.eqdsk`` mesh object and click :guilabel:`Apply` .. image:: images/fieldline_tracing_13.png :align: center :alt: Display LCFS-EQ3.eqdsk in ParaView Now the LCFS geometry will also be displayed in ``ParaView``. Click on :menuselection:`ParaViS`. .. image:: images/fieldline_tracing_14.png :align: center Next, the LCFS needs to be rotated and translated to the right place in order to see if the fieldline trace ens in ``OMP``. Press :kbd:`Ctrl` and :kbd:`space` on the keyboard. In the searchbox type :kbd:`Transform` and press enter. .. image:: images/fieldline_tracing_15.png :align: center :alt: Activate Transform for rotation A new property panel ``Transform`` will be shown. Here the ``Rotate``, ``Translate`` and ``Scale`` parameters can be set. Set the ``Rotate`` angle value around the ``Z`` axis (third field from the left) to ``-23.6``. Then set the ``Translate`` in the X axis value (first field from the left) to ``-6``. While inserting the transform values, the ``Show box`` in the ``Render View`` window, which serves as a preview for the new position of the limiter geometry, will be instantly updated. When finished press the :guilabel:`Apply` button. The transformed ``LCFS`` by the default name ``Transform1`` will be created in the ``Pipeline Browser``. .. image:: images/fieldline_tracing_16.png :align: center :alt: Rotate the limiter geometry for -23.6 around Z axis and translate in X direction for -6 .. image:: images/fieldline_tracing_17.png :align: center :alt: New rotate place of the LCFS To run off the ``Show box``, unmark the ``Show Box`` option of the translated ``LCFS`` in the ``Properties`` section. Now it can be observed that the end of fieldline tracing is correct. .. image:: images/fieldline_tracing_18.png :align: center :alt: The fieldline end on the LCFS Connection length ^^^^^^^^^^^^^^^^^ Connection length is calculated in variable ``lenpath`` available in :guilabel:`ParaViS` module by selecting :guilabel:`Coloring` in :guilabel:`Properties` where we get the following result: .. image:: images/lenpath_1.png :align: center For increased accuracy we change the ``Powcal`` parameters in :guilabel:`Object Browser` within activated :guilabel:`SMITER` module by right-click on ``Powcal`` and selecting :guilabel:`Edit ctl`. Under :guilabel:`odesparameters` we set :guilabel:`abs_error` and :guilabel:`rel_error` to ``1e-6`` and then with right-click on ``inres1`` case :guilabel:`Compute POWCAL` to get new results for :guilabel:`ParaViS`. .. image:: images/lenpath_2.png :align: center To see the lengths on selected triangles we enable :menuselection:`ParaViS --> View --> Windows --> Selection Display Inspector` and then :guilabel:`Cell Labels` check :guilabel:`lenpath` to be displayed. Then in :guilabel:`RenderView1` we press key :kbd:`s` to select single cell or use other cell selections modes to select multiple cells. By prescribing :guilabel:`Cell Label Format` to ``%.0f`` and color to black in :guilabel:`Selection Label Properties` we can get the following display. .. image:: images/lenpath_3.png :align: center