Settings ======== Units ----- +------------+--------+----------+------------------------------------------+ | Name | Value | Units | Source | +============+========+==========+==========================================+ | [velocity] | ``13`` | ``cm/s`` | :ref:`PDF_ROOT:107` | +------------+--------+----------+------------------------------------------+ | [length] | ``1`` | ``cm`` | :ref:`PDF_STRING1:1` | +------------+--------+----------+------------------------------------------+ | [mass] | ``2`` | ``g`` | :ref:`PDF_STRING1:2` | +------------+--------+----------+------------------------------------------+ Sources ------- .. _SOURCE_PDF_ROOT: +----------+----------------------+ | PDF_ROOT | +==========+======================+ | File: | build_export_docs.py | +----------+----------------------+ .. _SOURCE_PDF_STRING1: +-------------+--------------------------------------+ | PDF_STRING1 | +=============+======================================+ | File: | build_export_docs.py | +-------------+--------------------------------------+ | Source: | :ref:`PDF_ROOT:108` | +-------------+--------------------------------------+ .. code-block:: DIP :linenos: :caption: build_export_docs.py $unit length = 1 cm $unit mass = 2 g cfl_factor float = 0.7 # Courant-Friedrichs-Lewy condition max_vare float = 0.2 # maximum energy change of electrons max_vari float = 0.2 # maximum energy change of ions .. _SOURCE_PDF_FILE1: +-----------+--------------------------------------+ | PDF_FILE1 | +===========+======================================+ | File: | definitions.dip | +-----------+--------------------------------------+ | Source: | :ref:`PDF_ROOT:117` | +-----------+--------------------------------------+ .. code-block:: DIP :linenos: :caption: definitions.dip $source settings = settings.dip simulation name str = "simulation" !format "[a-zA-Z_-]+" precision str = "double" !options ["double","float"] directory = {pahts?simulation.directory} runtime t_max float s # mandatory !condition ("{?} > 0") !description "Maximum simulation time" timestep float s !condition ("{?} < {?runtime.t_max} && {?} > 0") # mandatory !description "Simulation time step" {settings?runtime.*} box geometry uint16 = {settings?box.geometry} # mandatory = 1 # linear = 2 # cylindrical = 3 # spherical !description "Type of grid geometry" size x float128 cm # mandatory !condition ("{?} > 0") !description "Box size in X direction" #y float cm # first declared here @case ("{?box.geometry} == 2") y float cm # mandatory if geometry is non-linear = 3 cm = 4 cm !description "Box size in Y direction" @case ("{?box.geometry} == 3") y float = 34 au vy float = 23 km/s #@else # y float = 3 m @end @case ("{?box.geometry} == 3") z float = 23 cm # constant = 10 m !options [20,23,26] cm !description "Box size in Z direction" !constant @end {settings?box.size.*} boundary {options?box.boundary.*} modules hydrodynamics bool = true # optional !description "Switch on hydrodynamics module" !tags ["preprocessor"] heating bool # mandatory !description "Switch on heating module" !tags ["preprocessor"] radiation bool # mandatory !description "Switch on radiation module" !tags ["preprocessor"] {settings?modules.*} cells {cells?*} .. _SOURCE_cells: +---------+--------------------------------------+ | cells | +=========+======================================+ | File: | cells.dip | +---------+--------------------------------------+ | Source: | :ref:`PDF_ROOT:116` | +---------+--------------------------------------+ .. code-block:: DIP :linenos: :caption: cells.dip densities float[10] = [0,1,2,3,4,5,6,7,8,9] km/s sizes int[10] = [10,11,12,13,14,15,16,17,18,19] cm temperatures float[10] = [20,21,22,23,24,25,26,27,28,29] K .. _SOURCE_settings: +----------+--------------------------------------+ | settings | +==========+======================================+ | File: | settings.dip | +----------+--------------------------------------+ | Source: | :ref:`PDF_FILE1:1` | +----------+--------------------------------------+ .. code-block:: DIP :linenos: :caption: settings.dip runtime t_max = 10 ns timestep = 0.01 ns box geometry = 3 size x = 10 nm y = 3e7 nm modules heating = false radiation = true