Block ID to Physics ID Mapping

Listing 5 Block ID to Physics ID Mapping block in XML input file.
  <ParameterList name="Block ID to Physics ID Mapping">
	  ...
	  ...
	  ...
  </ParameterList> <!--Block ID to Physics ID Mapping-->
Block ID
Type:

string

Value:

Pair of mesh block id and <physics block> specified in Physics Blocks

Usage:

Required

Description:

Mesh block id is specified as the tag name and the physics type is the value.

Listing 6 The fluid equations defined in FluidPhysicsBlock are solved on mesh block block_1.
1    <Parameter name="block_1" type="string" value="FluidPhysicsBlock"/>
Listing 7 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.
1    <Parameter name="fluid_1" type="string" value="FluidPhysicsBlock"/>
2    <Parameter name="fluid_2" type="string" value="FluidPhysicsBlock"/>
3    <Parameter name="solid_1" type="string" value="ConductionRightPhysicsBlock"/>
4    <Parameter name="solid_2" type="string" value="ConductionLeftPhysicsBlock"/>

Physics blocks

Listing 8 Block ID to Physics ID Mapping block in XML input file.
  <ParameterList name="Physics Blocks">
	  ...
	  ...
	  ...
  </ParameterList> <!--Physics Blocks-->
Fluid equations

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.

Type
Type:

string

Value:

IncompressibleNavierStokes

Usage:

Required

Description:

Solve for the incompressible Navier-Stokes equations.

Basis Order
Type:

integer

Value:

\([0;\infty]\)

Usage:

Required

Description:

Order of the finite element basis function to use in the finite element discretization.

Integration Order
Type:

integer

Value:

\([0;\infty]\)

Usage:

Required

Description:

Order of the quadrature rule to integrate the weak form of the discretized equations.

Model ID
Type:

string

Value:

<closure model sub-list name>

Usage:

Required

Description:

Name of the sub-list defined in Closure Models containing all closure models needed to solve the equations implemented in IncompressibleNavierStokes.

Build Viscous Flux
Type:

bool

Value:

true, false

Usage:

Required

Description:

Add viscous flux to the momentum equation of the incompressible Navier-Stokes model.

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.

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).

 1    <ParameterList name="FluidPhysicsBlock">
 2      <ParameterList>
 3        <Parameter name="Type" type="string" value="IncompressibleNavierStokes"/>
 4        <Parameter name="Basis Order" type="int" value="1"/>
 5        <Parameter name="Integration Order" type="int" value="2"/>
 6        <Parameter name="Model ID" type="string" value="fluids"/>
 7        <Parameter name="Build Temperature Equation" type="bool" value="true"/>
 8        <Parameter name="Build Buoyancy Source" type="bool" value="true"/>
 9      </ParameterList> <!-- -->
10    </ParameterList> <!-- FluidPhysicsBlock -->
11  </ParameterList> <!-- Physics Blocks -->
Conduction equation

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.

Type
Type:

string

Value:

Conduction.

Usage:

Required

Description:

Solve for the conduction equation (temperature equation in a solid phase).

Basis Order
Type:

integer

Value:

\([0;\infty]\)

Usage:

Required

Description:

Order of the finite element basis function to use in the finite element discretization.

Integration Order
Type:

integer

Value:

\([0;\infty]\)

Usage:

Required

Description:

Order of the quadrature rule to integrate the weak form of the discretized equations.

Model ID
Type:

string

Value:

<closure model sub-list name>

Usage:

Required

Description:

Name of the sub-list defined in Closure Models containing all closure models needed to solve the equations implemented in Conduction.

1    <ParameterList name="ConductionRightPhysicsBlock">
2      <ParameterList>
3        <Parameter name="Type" type="string" value="Conduction"/>
4        <Parameter name="Basis Order" type="int" value="1"/>
5        <Parameter name="Integration Order" type="int" value="2"/>
6        <Parameter name="Model ID" type="string" value="solid-1"/>
7      </ParameterList> <!-- -->
8    </ParameterList> <!-- ConductionRightPhysicsBlock -->
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.

Listing 9 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.
 1  <ParameterList name="Block ID to Physics ID Mapping">
 2    <Parameter name="fluid_1" type="string" value="FluidPhysicsBlock"/>
 3    <Parameter name="solid_1" type="string" value="ConductionPhysicsBlock"/>
 4  </ParameterList> <!-- Block ID to Physics ID Mapping -->
 5
 6  <ParameterList name="Physics Blocks">
 7    <ParameterList name="FluidPhysicsBlock">
 8      <ParameterList>
 9        <Parameter name="Type" type="string" value="IncompressibleNavierStokes"/>
10        <Parameter name="Basis Order" type="int" value="1"/>
11        <Parameter name="Integration Order" type="int" value="2"/>
12        <Parameter name="Model ID" type="string" value="fluid"/>
13        <Parameter name="Build Temperature Equation" type="bool" value="true"/>
14        <Parameter name="Continuity Model" type="string" value="EDAC"/>
15      </ParameterList> <!-- -->
16    </ParameterList> <!-- FluidPhysicsBlock -->
17    <ParameterList name="ConductionPhysicsBlock">
18      <ParameterList>
19        <Parameter name="Type" type="string" value="Conduction"/>
20        <Parameter name="Basis Order" type="int" value="1"/>
21        <Parameter name="Integration Order" type="int" value="2"/>
22        <Parameter name="Model ID" type="string" value="solid_1"/>
23      </ParameterList> <!-- -->
24    </ParameterList> <!-- ConductionPhysicsBlock -->
25  </ParameterList> <!-- Physics Blocks -->

Note

The name ConductionPhysicsBlock is user-defined and could be replaced by Conduction in all sub-lists. The same comment is valid for FluidPhysicsBlock.