.. ############################################################################ .. manual/packages/vertex-cfd/block_to_physics.rst .. ############################################################################ .. _sec_block_to_physics: ****************************** Block ID to Physics ID Mapping ****************************** .. literalinclude:: ../xml-blocks/block_physics_mapping.xml :language: xml :lines: 1-5 :caption: `Block ID to Physics ID Mapping` block in XML input file. .. py:data:: Block ID :type: string :value: Pair of mesh block id and specified in `Physics Blocks` :usage: Required :description: Mesh block id is specified as the tag name and the physics type is the value. .. literalinclude:: ../../../../examples/inputs/incompressible/incompressible_2d_concentric_cylinder_convection.xml :language: xml :linenos: :lines: 17 :caption: The fluid equations defined in `FluidPhysicsBlock` are solved on mesh block `block_1`. .. literalinclude:: ../../../../examples/inputs/cht/solid_to_solid_fluid_cht.xml :language: xml :linenos: :lines: 29-32 :caption: The fluid equations are solved on mesh blocks `fluid_1` and `fluid_2`. The conduction equation is solved on mesh blocks `solid_1` and `solid_2`. *********************** Physics blocks *********************** .. literalinclude:: ../xml-blocks/block_physics_mapping.xml :language: xml :lines: 7-11 :caption: `Block ID to Physics ID Mapping` block in XML input file. .. dropdown:: Fluid equations :icon: multi-select :color: primary :animate: fade-in-slide-down Variables defined below should be listed inside a name-less sub-list nested inside a parent sub-list. The name of the parent sub-list should match the value specified in `Block ID to Physics ID Mapping`. In the example above, the physics defined in `FluidPhysicsBlock` is solved on mesh block `block_1`. Thus, `FluidPhysicsBlock` will be listed in `Physics Blocks` per the example below. The name `FluidPhysicsBlock` can be updated as long as it is also changed in `Block ID to Physics ID Mapping`. Note that the physics to solve is determined by the entry `Type`. .. py:data:: Type :type: string :value: IncompressibleNavierStokes :usage: Required :description: Solve for the incompressible Navier-Stokes equations. .. py:data:: Basis Order :type: integer :value: :math:`[0;\infty]` :usage: Required :description: Order of the finite element basis function to use in the finite element discretization. .. py:data:: Integration Order :type: integer :value: :math:`[0;\infty]` :usage: Required :description: Order of the quadrature rule to integrate the weak form of the discretized equations. .. py:data:: Model ID :type: string :value: :usage: Required :description: Name of the sub-list defined in Closure Models containing all closure models needed to solve the equations implemented in IncompressibleNavierStokes. .. py:data:: Build Viscous Flux :type: bool :value: true, false :usage: Required :description: Add viscous flux to the momentum equation of the incompressible Navier-Stokes model. .. py:data:: Build Temperature Equation :type: bool :value: true or false :usage: Optional :default: false :description: Solve the incompressible Navier-Stokes equation coupled to the temperature equation. .. py:data:: Continuity Model :type: string :value: AC, EDAC, NCTempEDAC :usage: Optional - NCTempEDAC option requires Build Temperature Equation set to true. :default: AC :description: Enables different formulations for the incompressible Navier-Stokes models: artificial compressible (AC), entropically damped artificial compressible (EDAC), non-conservative form of the temperature equation with EDAC model (only available when solving for temperature equation). .. literalinclude:: ../../../../examples/inputs/incompressible/incompressible_2d_concentric_cylinder_convection.xml :language: xml :linenos: :lines: 21-31 .. dropdown:: Conduction equation :icon: multi-select :color: primary :animate: fade-in-slide-down Variables defined below should be listed inside a name-less sub-list nested inside a parent sub-list. The name of the parent sub-list should match the value specified in `Block ID to Physics ID Mapping`. In the example above, the physics defined in `ConductionPhysicsBlock` is solved on mesh block `block_1`. Thus, `ConductionPhysicsBlock` will be listed in `Physics Blocks` per the example below. The name `ConductionPhysicsBlock` can be updated as long as it is also changed in `Block ID to Physics ID Mapping`. Note that the physics to solve is determined by the entry `Type`. .. py:data:: Type :type: string :value: Conduction. :usage: Required :description: Solve for the conduction equation (temperature equation in a solid phase). .. py:data:: Basis Order :type: integer :value: :math:`[0;\infty]` :usage: Required :description: Order of the finite element basis function to use in the finite element discretization. .. py:data:: Integration Order :type: integer :value: :math:`[0;\infty]` :usage: Required :description: Order of the quadrature rule to integrate the weak form of the discretized equations. .. py:data:: Model ID :type: string :value: :usage: Required :description: Name of the sub-list defined in Closure Models containing all closure models needed to solve the equations implemented in Conduction. .. literalinclude:: ../../../../examples/inputs/cht/solid_to_solid_fluid_cht.xml :language: xml :linenos: :lines: 46-53 The below example showcases how to setup a conjugate heat transfer model in Vertex-CFD. The physics is defined in `Physics Blocks` and linked to the mesh blocks in `Block ID to Physics ID Mapping`. - incompressible Navier-Stokes model defined in `FluidPhysicsBlock` solved on mesh block `fluid_1`. - conduction model defined in `ConductionPhysicsBlock` solved on mesh block `solid_1`. .. literalinclude:: ../../../../examples/inputs/cht/cht_2d_forced_convection.xml :language: xml :linenos: :lines: 28-53 :caption: The conduction model defined in sub-list ConductionPhysicsBlock and the incompressible Navier-Stokes model defined in FluidPhysicsBlock are solved on mesh blocks solid_1 and fluid_1, respectively. .. note:: The name `ConductionPhysicsBlock` is user-defined and could be replaced by `Conduction` in all sub-lists. The same comment is valid for `FluidPhysicsBlock`.