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

    Unit:(no unit assumed)

    Controllable:No

    Description:The initial pressure, assumed constant everywhere

  • initial_temperatureThe initial temperature, assumed constant everywhere

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The initial temperature, assumed constant everywhere

  • initial_velocityThe initial velocity, assumed constant everywhere

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

    Unit:(no unit assumed)

    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>

    Unit:(no unit assumed)

    Controllable:No

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

  • inactiveIf specified blocks matching these identifiers will be skipped.

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

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    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>

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    Options:steady-state, transient

    Controllable:No

    Description:Navier-Stokes equation type

  • fluid_propertiesThe name of the user object for fluid properties

    C++ Type:UserObjectName

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the user object for fluid properties

Base Parameters

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

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

    Unit:(no unit assumed)

    Controllable:No

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

Advanced Parameters

  • density_scaling1Scaling for the density variable

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    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>

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    Controllable:No

    Description:Scaling for the total-energy variable

Variable Parameters

  • no_penetration_boundaryNo-penetration boundaries

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

    Unit:(no unit assumed)

    Controllable:No

    Description:No-penetration boundaries

  • stagnation_boundaryStagnation boundaries

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Stagnation boundaries

  • stagnation_flow_directionFlow directions on stagnation boundaries

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Flow directions on stagnation boundaries

  • stagnation_pressurePressure on stagnation boundaries

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Pressure on stagnation boundaries

  • stagnation_temperatureTemperature on stagnation boundaries

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Temperature on stagnation boundaries

  • static_pressureStatic pressure on boundaries

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Static pressure on boundaries

  • static_pressure_boundaryStatic pressure boundaries

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Static pressure boundaries

Boundarycondition Parameters