CNSAction

This class allows us to have a section of the input file like the following which automatically adds Kernels and AuxKernels for all the required nonlinear and auxiliary variables.

Overview

This action is used for setting up Navier-Stokes equation over a subdomain. Boundary conditions must cover the entire boundaries that enclose the subdomain. This action is triggered with Modules/CompressibleNavierStokes input syntax.

Example Input File Syntax

Input Parameters

  • initial_pressureThe initial pressure, assumed constant everywhere

    C++ Type:double

    Controllable:No

    Description:The initial pressure, assumed constant everywhere

  • initial_temperatureThe initial temperature, assumed constant everywhere

    C++ Type:double

    Controllable:No

    Description:The initial temperature, assumed constant everywhere

  • initial_velocityThe initial velocity, assumed constant everywhere

    C++ Type:libMesh::VectorValue<double>

    Controllable:No

    Description:The initial velocity, assumed constant everywhere

Required Parameters

  • active__all__ If specified only the blocks named will be visited and made active

    Default:__all__

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:If specified only the blocks named will be visited and made active

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • inactiveIf specified blocks matching these identifiers will be skipped.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:If specified blocks matching these identifiers will be skipped.

  • pressure_variable_nameA name for the pressure variable. If this is not provided, a sensible default will be used.

    C++ Type:std::string

    Controllable:No

    Description:A name for the pressure variable. If this is not provided, a sensible default will be used.

Optional Parameters

  • blockThe list of block ids (SubdomainID) on which NS equation is defined on

    C++ Type:std::vector<SubdomainName>

    Controllable:No

    Description:The list of block ids (SubdomainID) on which NS equation is defined on

  • equation_typesteady-stateNavier-Stokes equation type

    Default:steady-state

    C++ Type:MooseEnum

    Options:steady-state, transient

    Controllable:No

    Description:Navier-Stokes equation type

  • fluid_propertiesThe name of the user object for fluid properties

    C++ Type:UserObjectName

    Controllable:No

    Description:The name of the user object for fluid properties

Base Parameters

  • density_scaling1Scaling for the density variable

    Default:1

    C++ Type:double

    Controllable:No

    Description:Scaling for the density variable

  • familyLAGRANGESpecifies the family of FE shape functions to use for this variable

    Default:LAGRANGE

    C++ Type:MooseEnum

    Options:LAGRANGE

    Controllable:No

    Description:Specifies the family of FE shape functions to use for this variable

  • momentum_scaling1 1 1Scaling for the momentum variables

    Default:1 1 1

    C++ Type:libMesh::VectorValue<double>

    Controllable:No

    Description:Scaling for the momentum variables

  • orderFIRSTSpecifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)

    Default:FIRST

    C++ Type:MooseEnum

    Options:FIRST

    Controllable:No

    Description:Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)

  • total_energy_density_scaling1Scaling for the total-energy variable

    Default:1

    C++ Type:double

    Controllable:No

    Description:Scaling for the total-energy variable

Variable Parameters

  • no_penetration_boundaryNo-penetration boundaries

    C++ Type:std::vector<BoundaryName>

    Controllable:No

    Description:No-penetration boundaries

  • stagnation_boundaryStagnation boundaries

    C++ Type:std::vector<BoundaryName>

    Controllable:No

    Description:Stagnation boundaries

  • stagnation_flow_directionFlow directions on stagnation boundaries

    C++ Type:std::vector<double>

    Controllable:No

    Description:Flow directions on stagnation boundaries

  • stagnation_pressurePressure on stagnation boundaries

    C++ Type:std::vector<double>

    Controllable:No

    Description:Pressure on stagnation boundaries

  • stagnation_temperatureTemperature on stagnation boundaries

    C++ Type:std::vector<double>

    Controllable:No

    Description:Temperature on stagnation boundaries

  • static_pressureStatic pressure on boundaries

    C++ Type:std::vector<double>

    Controllable:No

    Description:Static pressure on boundaries

  • static_pressure_boundaryStatic pressure boundaries

    C++ Type:std::vector<BoundaryName>

    Controllable:No

    Description:Static pressure boundaries

Boundarycondition Parameters