.. meta:: :description: The current Flow360 CFD simulation Mesh Processor and Solver input configuration parameters. Boundaries & Sliding Interfaces mesh types, nondimensionalization. .. _solverConfiguration: Solver Configuration ******************** The Flow360.json file defines the solver settings used during the CFD solution. Most input quantities in the case configuration file (Flow360.json) are dimensionless. The conventions of nondimensional inputs in Flow360 are explained in detail at the :ref:`nondimensional inputs knowledge base ` and the :ref:`non-dimensionalization in Flow360 tutorial `. .. _geometryConfiguration: :code:`geometry` ---------------- **OPTIONAL** The :code:`geometry` section defines the geometric reference values. These parameters are used in the calculation of nondimensional loads reported (e.g., :math:`CL`, :math:`CMy`, etc.). Please refer to :ref:`nondimensional inputs knowledge base ` and the :ref:`non-dimensionalization in Flow360 tutorial ` for further information on how to define these. .. csv-table:: :file: Tables/geometryTable.csv :widths: 25, 25, 50 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/geometryExample.json .. _solverConfiguration-freestream: :code:`freestream` ------------------ **REQUIRED** The :code:`freestream` section defines the flow conditions at the freestream. Please refer to :ref:`nondimensional inputs knowledge base ` and the :ref:`non-dimensionalization in Flow360 tutorial ` for further information on how to define these. .. csv-table:: :file: Tables/freestreamTable.csv :widths: 20, 20, 70 :header-rows: 1 :delim: @ User can specify turbulence conditions for the initial flow field and flow at boundaries via :code:`turbulenceQuantities`. The turbulence properties that can be specified are listed in the table below. All values are nondimensional. For valid specifications as well as the default values, please refer to :ref:`knowledge base`. .. note:: Specifying turbulence quantities for the initial flow field and flow at boundaries is currently a **beta feature** and may be subject to change during the lifetime of the release. .. note:: The turbulence properties :ref:`below` are also applicable to the inflow and outflow boundaries indicated in :ref:`boundariesParameters`. .. _turbulenceQuantities_table: .. csv-table:: :file: Tables/turbulenceQuantitiesSpecification.csv :widths: 20, 20, 70 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/freestreamExample.json .. _boundariesParameters: :code:`boundaries` ------------------ **REQUIRED** The :code:`boundaries` section defines the boundary conditions. Each boundary condition is specified by associating the boundary type for each boundary name in the mesh file, as follows: .. literalinclude:: Files/boundaryBase.json The "boundary_name" is the name of each individual boundary of the mesh and is typically of the form "1" for UGRID files or "vol-1/wallName" for CGNS files. Additionally, an optional parameter "name" can be specified within each boundary dictionary to overwrite the "boundary_name" shown in the json file. This will update the :ref:`output` results files with the correct names. Hence it becomes possible to update the output name of a given boundary from run to run. For example, a given boundary could be called "BC_NoSlipWall" in one run and "BC_SlipWall" in another. The "name" option takes a string entry. .. literalinclude:: Files/boundaryName.json .. note:: For the :code:`TranslationallyPeriodic` and :code:`RotationallyPeriodic` boundary conditions, the :code:`pairedPatchName` boundary patch name shall be the name of that boundary in the mesh. As in **NOT** the name you have renamed it to in the json file. Numerous boundary conditions require the specification of additional options, which are outlined in the table below. For a number of boundaries such as :code:`NoSlipWall`, :code:`IsothermalWall` and :code:`Freestream`, mathematical expressions can be used to define the inputs. Please refer to the :ref:`user Defined Expressions ` for more information. .. csv-table:: :file: Tables/boundariesTable.csv :widths: 15, 25, 70 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/boundariesExample.json .. _volumeZonesParameters: :code:`volumeZones` ------------------- **OPTIONAL** This section defines the properties of volume zones. All volume zones are assumed to have :code:`modelType=FluidDynamics` unless specified otherwise. Each volume zone is specified with a structure as follows: .. literalinclude:: Files/volumeZonesBase.json The "volume_zone_name" needs to be consistent with the definitions in the mesh file. The options :code:`thermalConductivity`, :code:`volumetricHeatSource`, :code:`heatCapacity` and :code:`initialCondition` are only valid for heat transfer zones. .. csv-table:: :file: Tables/volumeZonesTable.csv :widths: 25 25 10 65 :header-rows: 1 :delim: @ **Example 1** .. literalinclude:: Files/volumeZonesExample_1.json :linenos: **Example 2** .. literalinclude:: Files/volumeZonesExample_2.json :linenos: .. note:: For simulations with rotational volume zones (non-zero omega), setting :code:`timeStepSize` to :code:`"inf"` is equivalent to running Mulitple Reference Frame (MRF) or Single Reference Frame (SRF) simulations. MRF is activated when multiple zones are present in the domain, whereas SRF is activated when only one volume zone is specified. .. _navierStokesSolverParameters: :code:`navierStokesSolver` -------------------------- **OPTIONAL** This section of the configuration file defines the numerical parameters for the Navier-Stokes solver. For more information on setting up these parameters refer to :ref:`Navier-Stokes solver knowledge base `. .. csv-table:: :file: Tables/navierStokesSolver.csv :widths: 25 10 65 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/navierStokesExample.json .. _turbulenceModelSolverParameters: :code:`turbulenceModelSolver` ----------------------------- **OPTIONAL** This section of the configuration file defines the numerical parameters for the turbulence model solver. For more information on setting up these parameters refer to :ref:`the turbulence model solver knowledge base `. .. csv-table:: :file: Tables/turbulenceTable.csv :widths: 25 10 65 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/turbulenceModelExample.json .. _transitionModelSolverParameters: :code:`transitionModelSolver` ----------------------------- **OPTIONAL** This section of the configuration file defines the numerical parameters for the transition model solver. For more information on setting up these parameters refer to :ref:`the transition model solver knowledge base `. .. csv-table:: :file: Tables/transitionTable.csv :widths: 25 10 60 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/transitionModelExample.json .. _heatEquationParameters: :code:`heatEquationSolver` -------------------------- **OPTIONAL** This section specifies the numerical parameters of the heat equation solver for CHT applications. .. csv-table:: :file: Tables/heatEquationTable.csv :widths: 10 10 30 50 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/heatEquationExample.json .. _initialConditionParameters: :code:`initialCondition` ------------------------ **OPTIONAL** This section of the configuration file specifies the initial condition for the simulation. .. csv-table:: :file: Tables/initialTable.csv :widths: 25 15 60 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/initialConditionExample.json .. _timeSteppingParameters: :code:`timeStepping` -------------------- **OPTIONAL** This section of the configuration file defines the numerical parameters for time stepping. Please refer to the :ref:`time stepping knowledge base ` for further guidance regarding these parameters. .. _table_timeStepping: .. csv-table:: :file: Tables/timeSteppingTable.csv :widths: 25 25 10 65 :header-rows: 1 :delim: @ .. note:: The :code:`timeStepSize` is in solver units (nondimensional), where time-scale is mesh unit divided by freestream speed of sound. So a time of :code:`timeStepSize=1` means the time it takes for sound to travel 1 mesh unit at freestream. **Example** .. literalinclude:: Files/timeSteppingExample.json .. _slidingInterfacesParameters: :code:`slidingInterfaces` (list) -------------------------------- .. deprecated:: release-23.3.2.0 Use of slidingInterfaces is deprecated. We highly recommend using :ref:`volumeZone->referenceFrame ` for specifying rotational volume zones. More details on switching from sliding interfaces to volume zones can be found :ref:`here `. The details of slidingInterfaces can be found in previous versions of the documentation. .. _actuatorDisksParameters: :code:`actuatorDisks` (list) ---------------------------- **OPTIONAL** The actuator disk inputs are defined in this section. Please refer to the :ref:`actuator disk knowledge base ` for further information. .. csv-table:: :file: Tables/actuatorDiskTable.csv :widths: 20, 10, 70 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/actuatorDiskExample.json .. _betDisksInputParameters: :code:`BETDisks` (list) ------------------------ **OPTIONAL** In this section, the Blade Element Theory (BET) model inputs are defined. For detailed information on the parameters, please refer to the :ref:`BET knowledge Base `. To generate the sectional polars the BET translators can be used which are outlined :ref:`here ` with best-practices for the sectional polars inputs available :ref:`here `. A case study of the XV-15 rotor using the steady BET Disk method is available in :ref:`Case Studies `. Because a transient BET Line simulation is simply a time-accurate version of a steady-state BET Disk simulation, most of the parameters below are applicable to both methods. .. csv-table:: :file: Tables/betTable.csv :widths: 20, 10, 70 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/BETExample.json .. _porousMediaParameters: :code:`porousMedia` (list) -------------------------- **OPTIONAL** This section defines the inputs for the porous media model. For further information please refer to the :ref:`porous media knowledge base `. .. csv-table:: :file: Tables/porousTable.csv :widths: 30, 30, 15, 70 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/porousMediaExample.json .. _userDefinedDynamicsParameters: :code:`userDefinedDynamics` --------------------------- **OPTIONAL** This section defines the user defined dynamics inputs. An example of how to use the userDefinedDynamics is available :ref:`here `. .. csv-table:: :file: Tables/userDefinedDynamicsTable.csv :widths: 20, 10, 70 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/userDefinedDynamicsExample.json The configuration comes from the :ref:`userDefinedDynamics tutorial`. .. _postProcessingParameters: :code:`Output` -------------- This section presents all the configuration file inputs regarding solution output. This includes, the surface and volume solutions, as well as slices, isosurfaces and probe/surface-integral monitors. For :code:`volumeZones` specified as :code:`HeatTransfer`, only output related to the heat equation, i.e. :code:`T` and :code:`residualHeatSolver` are valid. Universal nondimensional variables supported by all types of output are presented below: [note]_ .. note:: Please note that each output type run parameter in the run configuration file: :ref:`volumeOutput`, :ref:`surfaceOutput`, :ref:`sliceOutput`, :ref:`isosurfaceOutput` etc. are independent, optional inputs which are totally independent. i.e. a sample run configuration file that requires surface and slice outputs but nothing more would contain: .. literalinclude:: Files/outputExample.json .. _universalvariables: .. csv-table:: :file: Tables/universalVariablesTable.csv :widths: 25,50 :header-rows: 1 :delim: @ Additional nondimensional variables supported by :ref:`volumeOutput` and :ref:`sliceOutput`: .. _VolumeAndSliceSpecificVariables: .. csv-table:: :file: Tables/volumeAndSliceSpecific.csv :widths: 25,50 :header-rows: 1 :delim: @ Additional nondimensional variables supported by :ref:`surfaceOutput`: .. _SurfaceSpecificVariables: .. csv-table:: :file: Tables/surfaceSpecific.csv :widths: 25,50 :header-rows: 1 :delim: @ .. note:: Since release-23.1.1.0, `previous syntax `_ to specify output variables is being deprecated and not all variables are supported. Users are encouraged to use the new :code:`outputFields` syntax as described :ref:`below `. .. _volumeOutputInputParameters: Apart from pre-defined output variables listed above. User can also define custom output variables by specifying the mathematical expressions in :code:`userDefinedFields` section and list their names in :code:`outputFields` just like the above pre-defined output variables. Please see :ref:`userDefinedFields`. :code:`volumeOutput` ^^^^^^^^^^^^^^^^^^^^ **OPTIONAL** .. csv-table:: :file: Tables/volumeOutputTable.csv :widths: 25 10 65 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/volumeExample.json .. _surfaceOutputInputParameters: :code:`surfaceOutput` ^^^^^^^^^^^^^^^^^^^^^ **OPTIONAL** .. csv-table:: :file: Tables/surfaceOutputTable.csv :widths: 25 10 65 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/surfaceExample.json .. _sliceOutputInputParameters: :code:`sliceOutput` ^^^^^^^^^^^^^^^^^^^ **OPTIONAL** .. csv-table:: :file: Tables/sliceOutputTable.csv :widths: 25 10 65 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/sliceExample.json .. _isoSurfaceOutputInputParameters: :code:`isoSurfaceOutput` ^^^^^^^^^^^^^^^^^^^^^^^^ **OPTIONAL** .. csv-table:: :file: Tables/isoSurfaceOutputTable.csv :widths: 25 25 10 65 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/isoSurfaceConfigExample.json .. _monitorOutputInputParameters: :code:`monitorOutput` ^^^^^^^^^^^^^^^^^^^^^ **OPTIONAL** .. csv-table:: :file: Tables/monitorOutputTable.csv :widths: 25 25 10 65 :header-rows: 1 :delim: @ .. note:: Please increase the precision of the input coordinates when probing near the grid boundaries to ensure that the probing location is within the mesh. **Example** .. literalinclude:: Files/monitorExample.json .. _aeroacousticsParameters: :code:`aeroacousticOutput` ^^^^^^^^^^^^^^^^^^^^^^^^^^ The aeroacoustic solver is activated by having the :code:`aeroacousticOutput` section in the input JSON file. **OPTIONAL** .. csv-table:: :file: Tables/aeroacousticOutputTable.csv :widths: 25 25 10 65 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/aeroacousticExample.json :linenos: .. _UserDefinedFields: :code:`userDefinedFields` ^^^^^^^^^^^^^^^^^^^^^^^^^^ **OPTIONAL** User can also define variables that can be used as output variables. For details like the availability of the variables and expression syntax, please refer to :ref:`userDefinedFields`. .. note:: :code:`userDefinedFields` is currently a **beta feature** and may be subject to change during the lifetime of the release. .. csv-table:: :file: Tables/userDefinedFieldsTable.csv :widths: 25 25 10 65 :header-rows: 1 :delim: @ **Example** .. literalinclude:: Files/userDefinedFieldsExample.json :linenos: In the above example two custom fields named :code:`TotalPressureCoeff` and :code:`PressureForce` are defined. These two custom fields come from examples in :ref:`Custom Output Variable` and :ref:`Custom surface integral`. .. [note] Since release-23.1.1.0, `previous syntax `_ to specify output variables is being deprecated and not all variables are supported. Users are encouraged to use the new syntax as described in :ref:`this documentation `.