Block ID to Physics ID Mapping

Listing 13 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 14 The fluid equations defined in FluidPhysicsBlock are solved on mesh block block_1.
1    <Parameter name="block_1" type="string" value="FluidPhysicsBlock"/>
Listing 15 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 16 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.

Build Buoyancy Source
Type:

bool

Value:

true or false

Usage:

Optional

Default:

false

Description:

Solve the incompressible Navier-Stokes equation with Buoyancy force. Requires the Build Temperature Equation option to solve.

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 -->
Build Viscous Heat
Type:

bool

Value:

true or false

Usage:

Optional

Default:

false

Descriptions:

Add viscous heating source term to the temperature equation. It is required to solve for the temperature equation when enabling viscous heating.

Build Constant Source
Type:

bool

Value:

true or false

Usage:

Optional

Default:

false

Description:

Add contant source term to the momentum equations and the temperature equation when enabled. The source terms are set in the closure model factory for the fluid equations with the closure model IncompressibleConstantSource.

Stabilization Method
Type:

string

Value:

Taylor-Hood, Grad-Div, Taylor-Hood and Grad-Div, None

Usage:

Optional

Default:

None

Description:

Enable a stabilization method for the incompressible Navier-Stokes equations. Note that SUPG is also available, but it is currently enabled from the closure model factory rather than from this parameter.

 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 Viscous Heat" type="bool" value="true"/>
 9        <Parameter name="Build Constant Source" type="bool" value="true"/>
10        <Parameter name="Stabilization Method" type="string" value="None"/>
11      </ParameterList> <!-- -->
12    </ParameterList> <!-- FluidPhysicsBlock -->
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 17 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.