https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
CNSAction Class Reference

This class allows us to have a section of the input file like the following which automatically adds variables, kernels, aux kernels, bcs for setting up the Navier-Stokes equation. More...

#include <CNSAction.h>

Inheritance diagram for CNSAction:
[legend]

Public Types

typedef DataFileName DataFileParameterType
 

Public Member Functions

 CNSAction (const InputParameters &parameters)
 
virtual void act () override
 
void timedAct ()
 
virtual void addRelationshipManagers (Moose::RelationshipManagerType when_type)
 
MooseObjectName uniqueActionName () const
 
const std::string & specificTaskName () const
 
const std::set< std::string > & getAllTasks () const
 
void appendTask (const std::string &task)
 
MooseAppgetMooseApp () const
 
const std::string & type () const
 
const std::string & name () const
 
std::string typeAndName () const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
MooseObjectName uniqueName () const
 
const InputParametersparameters () const
 
const hit::Node * getHitNode () const
 
bool hasBase () const
 
const std::string & getBase () const
 
const TgetParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const TqueryParam (const std::string &name) const
 
const TgetRenamedParam (const std::string &old_name, const std::string &new_name) const
 
T getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &name) const
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void paramError (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramInfo (const std::string &param, Args... args) const
 
std::string messagePrefix (const bool hit_prefix=true) const
 
std::string errorPrefix (const std::string &) const
 
void mooseError (Args &&... args) const
 
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseDeprecatedNoTrace (Args &&... args) const
 
void mooseInfo (Args &&... args) const
 
void callMooseError (std::string msg, const bool with_prefix, const hit::Node *node=nullptr, const bool show_trace=true) const
 
std::string getDataFileName (const std::string &param) const
 
std::string getDataFileNameByName (const std::string &relative_path) const
 
std::string getDataFilePath (const std::string &relative_path) const
 
PerfGraphperfGraph ()
 
const Parallel::Communicator & comm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 

Static Public Member Functions

static InputParameters validParams ()
 
static void callMooseError (MooseApp *const app, const InputParameters &params, std::string msg, const bool with_prefix, const hit::Node *node, const bool show_trace=true)
 

Public Attributes

 usingCombinedWarningSolutionWarnings
 
const ConsoleStream _console
 

Static Public Attributes

static const std::string unique_action_name_param
 
static const std::string type_param
 
static const std::string name_param
 
static const std::string unique_name_param
 
static const std::string app_param
 
static const std::string moose_base_param
 
static const std::string kokkos_object_param
 
static constexpr auto SYSTEM
 
static constexpr auto NAME
 

Protected Member Functions

void setKernelCommonParams (InputParameters &params)
 
void setBCCommonParams (InputParameters &params)
 
void setStagnationBCCommonParams (InputParameters &params, unsigned int i)
 
void coupleVelocities (InputParameters &params)
 
void coupleMomentums (InputParameters &params)
 
void addNSTimeKernels ()
 
void addNSMassInviscidFlux ()
 
void addNSMomentumInviscidFlux (unsigned int component)
 
void addNSEnergyInviscidFlux ()
 
void addNSSUPGMass ()
 
void addNSSUPGMomentum (unsigned int component)
 
void addNSSUPGEnergy ()
 
void addPressureOrTemperatureAux (const std::string &kernel_type)
 
void addNSVelocityAux (unsigned int component)
 
void addSpecificTotalEnthalpyAux ()
 
void addNSMachAux ()
 
void addNSInternalEnergyAux ()
 
void addSpecificVolumeComputation ()
 
void addNSMassWeakStagnationBC ()
 
void addNSEnergyWeakStagnationBC ()
 
void addNSMomentumWeakStagnationBC (unsigned int component)
 
void addNoPenetrationBC (unsigned int component)
 
void addNSMassUnspecifiedNormalFlowBC ()
 
void addNSEnergyInviscidSpecifiedPressureBC ()
 
void addNSMomentumInviscidSpecifiedPressureBC (unsigned int component)
 
bool addRelationshipManagers (Moose::RelationshipManagerType when_type, const InputParameters &moose_object_pars)
 
void associateWithParameter (const std::string &param_name, InputParameters &params) const
 
void associateWithParameter (const InputParameters &from_params, const std::string &param_name, InputParameters &params) const
 
const TgetMeshProperty (const std::string &data_name, const std::string &prefix)
 
const TgetMeshProperty (const std::string &data_name)
 
bool hasMeshProperty (const std::string &data_name, const std::string &prefix) const
 
bool hasMeshProperty (const std::string &data_name, const std::string &prefix) const
 
bool hasMeshProperty (const std::string &data_name) const
 
bool hasMeshProperty (const std::string &data_name) const
 
std::string meshPropertyName (const std::string &data_name) const
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level) const
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const
 
std::string timedSectionName (const std::string &section_name) const
 
void flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const
 
InvalidSolutionID registerInvalidSolutionInternal (const std::string &message, const bool warning) const
 

Static Protected Member Functions

static std::string meshPropertyName (const std::string &data_name, const std::string &prefix)
 

Protected Attributes

MooseEnum _type
 Equation type, transient or steady-state.
 
UserObjectName _fp_name
 Name of the FluidProperties object to pass on to Kernels.
 
std::vector< SubdomainName > _blocks
 Subdomains Navier-Stokes equation is defined on.
 
std::vector< BoundaryName > _stagnation_boundary
 Boundaries stagnation BC applies.
 
std::vector< Real > _stagnation_pressure
 Pressures on stagnation boundaries.
 
std::vector< Real > _stagnation_temperature
 Temperatures on stagnation boundaries.
 
std::vector< Real > _stagnation_direction
 Flow directions on stagnation boundaries.
 
std::vector< BoundaryName > _no_penetration_boundary
 Boundaries no-penetration BC applies.
 
std::vector< BoundaryName > _static_pressure_boundary
 Boundaries static pressure BC applies.
 
std::vector< Real > _static_pressure
 Pressures on static pressure boundaries.
 
libMesh::FEType _fe_type
 FE type for various variables.
 
Real _initial_pressure
 Initial value for pressure.
 
Real _initial_temperature
 Initial value for temperature.
 
RealVectorValue _initial_velocity
 Initial value for velocity.
 
unsigned int _dim
 Mesh dimension.
 
std::set< SubdomainID_block_ids
 Subdomain IDs.
 
const std::string _pressure_variable_name
 pressure variable name
 
std::string _registered_identifier
 
std::string _specific_task_name
 
std::set< std::string > _all_tasks
 
ActionWarehouse_awh
 
const std::string & _current_task
 
std::shared_ptr< MooseMesh > & _mesh
 
std::shared_ptr< MooseMesh > & _displaced_mesh
 
std::shared_ptr< FEProblemBase > & _problem
 
PerfID _act_timer
 
MooseApp_app
 
Factory_factory
 
ActionFactory_action_factory
 
const std::string & _name
 
const InputParameters_pars
 
MooseApp_pg_moose_app
 
const std::string _prefix
 
const Parallel::Communicator & _communicator
 

Private Member Functions

bool addRelationshipManager (Moose::RelationshipManagerType input_rm_type, const InputParameters &moose_object_pars, std::string rm_name, Moose::RelationshipManagerType rm_type, Moose::RelationshipManagerInputParameterCallback rm_input_parameter_func, Moose::RMSystemType sys_type=Moose::RMSystemType::NONE)
 
virtual std::string meshPropertyPrefix (const std::string &data_name) const
 
const RestartableDataValuegetMeshPropertyInternal (const std::string &data_name, const std::string &prefix) const
 
void mooseErrorInternal (Args &&... args) const
 

Static Private Member Functions

static const hit::Node * getHitNode (const InputParameters &params)
 
static std::string messagePrefix (const InputParameters &params, const bool hit_prefix)
 

Private Attributes

const ParallelParamObject_parent
 
MooseApp_meta_data_app
 
const MooseObject *const _meta_data_object
 
const MooseBase_si_moose_base
 
const FEProblemBase_si_problem
 

Detailed Description

This class allows us to have a section of the input file like the following which automatically adds variables, kernels, aux kernels, bcs for setting up the Navier-Stokes equation.

[Modules] [CompressibleNavierStokes] [] []

Definition at line 28 of file CNSAction.h.

Constructor & Destructor Documentation

◆ CNSAction()

CNSAction::CNSAction ( const InputParameters parameters)

Definition at line 97 of file CNSAction.C.

99 _type(getParam<MooseEnum>("equation_type")),
100 _fp_name(getParam<UserObjectName>("fluid_properties")),
101 _blocks(getParam<std::vector<SubdomainName>>("block")),
102 _stagnation_boundary(getParam<std::vector<BoundaryName>>("stagnation_boundary")),
103 _stagnation_pressure(getParam<std::vector<Real>>("stagnation_pressure")),
104 _stagnation_temperature(getParam<std::vector<Real>>("stagnation_temperature")),
105 _stagnation_direction(getParam<std::vector<Real>>("stagnation_flow_direction")),
106 _no_penetration_boundary(getParam<std::vector<BoundaryName>>("no_penetration_boundary")),
107 _static_pressure_boundary(getParam<std::vector<BoundaryName>>("static_pressure_boundary")),
108 _static_pressure(getParam<std::vector<Real>>("static_pressure")),
109 _fe_type(Utility::string_to_enum<Order>(getParam<MooseEnum>("order")),
110 Utility::string_to_enum<FEFamily>(getParam<MooseEnum>("family"))),
111 _initial_pressure(getParam<Real>("initial_pressure")),
112 _initial_temperature(getParam<Real>("initial_temperature")),
113 _initial_velocity(getParam<RealVectorValue>("initial_velocity")),
114 _pressure_variable_name(isParamValid("pressure_variable_name")
115 ? getParam<std::string>("pressure_variable_name")
116 : "p")
117{
118 if (_stagnation_pressure.size() != _stagnation_boundary.size())
119 paramError("stagnation_pressure",
120 "Size is not the same as the number of boundaries in 'stagnation_boundary'");
122 paramError("stagnation_temperature",
123 "Size is not the same as the number of boundaries in 'stagnation_boundary'");
124 if (_static_pressure.size() != _static_pressure_boundary.size())
125 paramError("static_pressure",
126 "Size is not the same as the number of boundaries in 'static_pressure_boundary'");
127}
const std::string _pressure_variable_name
pressure variable name
Definition CNSAction.h:115
UserObjectName _fp_name
Name of the FluidProperties object to pass on to Kernels.
Definition CNSAction.h:85
std::vector< Real > _stagnation_temperature
Temperatures on stagnation boundaries.
Definition CNSAction.h:93
std::vector< BoundaryName > _stagnation_boundary
Boundaries stagnation BC applies.
Definition CNSAction.h:89
std::vector< BoundaryName > _static_pressure_boundary
Boundaries static pressure BC applies.
Definition CNSAction.h:99
std::vector< SubdomainName > _blocks
Subdomains Navier-Stokes equation is defined on.
Definition CNSAction.h:87
MooseEnum _type
Equation type, transient or steady-state.
Definition CNSAction.h:83
libMesh::FEType _fe_type
FE type for various variables.
Definition CNSAction.h:103
RealVectorValue _initial_velocity
Initial value for velocity.
Definition CNSAction.h:109
std::vector< BoundaryName > _no_penetration_boundary
Boundaries no-penetration BC applies.
Definition CNSAction.h:97
Real _initial_pressure
Initial value for pressure.
Definition CNSAction.h:105
std::vector< Real > _stagnation_direction
Flow directions on stagnation boundaries.
Definition CNSAction.h:95
Real _initial_temperature
Initial value for temperature.
Definition CNSAction.h:107
std::vector< Real > _stagnation_pressure
Pressures on stagnation boundaries.
Definition CNSAction.h:91
std::vector< Real > _static_pressure
Pressures on static pressure boundaries.
Definition CNSAction.h:101
const InputParameters & parameters() const
void paramError(const std::string &param, Args... args) const
const T & getParam(const std::string &name) const
bool isParamValid(const std::string &name) const

Member Function Documentation

◆ act()

void CNSAction::act ( )
overridevirtual

Implements Action.

Definition at line 130 of file CNSAction.C.

131{
132 if (_current_task == "add_navier_stokes_variables")
133 {
134 _dim = _mesh->dimension();
135 for (const auto & subdomain_name : _blocks)
136 {
137 SubdomainID id = _mesh->getSubdomainID(subdomain_name);
138 _block_ids.insert(id);
139 }
140 if (_stagnation_direction.size() != _stagnation_boundary.size() * _dim)
141 paramError("stagnation_flow_direction",
142 "Size is not the same as the number of boundaries in 'stagnation_boundary' times "
143 "the mesh dimension");
144
145 // FIXME: need to check boundaries are non-overlapping and enclose the blocks
146
148 auto base_params = _factory.getValidParams(var_type);
149 base_params.set<MooseEnum>("order") = _fe_type.order.get_order();
150 base_params.set<MooseEnum>("family") = Moose::stringify(_fe_type.family);
151 if (_block_ids.size() != 0)
152 for (const SubdomainID & id : _block_ids)
153 base_params.set<std::vector<SubdomainName>>("block").push_back(Moose::stringify(id));
154
155 // add primal variables
156 InputParameters params(base_params);
157 params.set<std::vector<Real>>("scaling") = {getParam<Real>("density_scaling")};
158 _problem->addVariable(var_type, NS::density, params);
159
160 auto mscaling = getParam<RealVectorValue>("momentum_scaling");
161 params.set<std::vector<Real>>("scaling") = {mscaling(0)};
162 _problem->addVariable(var_type, NS::momentum_x, params);
163 if (_dim >= 2)
164 {
165 params.set<std::vector<Real>>("scaling") = {mscaling(1)};
166 _problem->addVariable(var_type, NS::momentum_y, params);
167 }
168 if (_dim >= 3)
169 {
170 params.set<std::vector<Real>>("scaling") = {mscaling(2)};
171 _problem->addVariable(var_type, NS::momentum_z, params);
172 }
173 params.set<std::vector<Real>>("scaling") = {getParam<Real>("total_energy_density_scaling")};
174 _problem->addVariable(var_type, NS::total_energy_density, params);
175
176 // Add Aux variables. These are all required in order for the code
177 // to run, so they should not be independently selectable by the
178 // user.
179 _problem->addAuxVariable(var_type, NS::velocity_x, base_params);
180 if (_dim >= 2)
181 _problem->addAuxVariable(var_type, NS::velocity_y, base_params);
182 if (_dim >= 3)
183 _problem->addAuxVariable(var_type, NS::velocity_z, base_params);
184 _problem->addAuxVariable(var_type, _pressure_variable_name, base_params);
185 _problem->addAuxVariable(var_type, NS::temperature, base_params);
186 _problem->addAuxVariable(var_type, NS::specific_total_enthalpy, base_params);
187 _problem->addAuxVariable(var_type, NS::mach_number, base_params);
188
189 // Needed for FluidProperties calculations
190 _problem->addAuxVariable(var_type, NS::specific_internal_energy, base_params);
191 _problem->addAuxVariable(var_type, NS::specific_volume, base_params);
192 }
193
194 if (_current_task == "add_navier_stokes_kernels")
195 {
196 if (_type == "transient")
198
199 // Add all the inviscid flux Kernels.
202 for (unsigned int component = 0; component < _dim; ++component)
203 addNSMomentumInviscidFlux(component);
204
205 // Add SUPG Kernels
208 for (unsigned int component = 0; component < _dim; ++component)
209 addNSSUPGMomentum(component);
210
211 // Add AuxKernels.
212 addPressureOrTemperatureAux("PressureAux");
213 addPressureOrTemperatureAux("TemperatureAux");
215 addNSMachAux();
218 for (unsigned int component = 0; component < _dim; ++component)
219 addNSVelocityAux(component);
220 }
221
222 if (_current_task == "add_navier_stokes_bcs")
223 {
224 if (_stagnation_boundary.size() > 0)
225 {
228 for (unsigned int component = 0; component < _dim; ++component)
230 }
231
232 if (_no_penetration_boundary.size() > 0)
233 {
234 for (unsigned int component = 0; component < _dim; ++component)
235 addNoPenetrationBC(component);
236 }
237
238 if (_static_pressure_boundary.size() > 0)
239 {
242 for (unsigned int component = 0; component < _dim; ++component)
244 }
245 }
246
247 if (_current_task == "add_navier_stokes_ics")
248 {
249 // add ICs for primal variables
250 std::vector<VariableName> vars;
251 vars.push_back(NS::density);
252 vars.push_back(NS::momentum_x);
253 if (_dim >= 2)
254 vars.push_back(NS::momentum_y);
255 if (_dim >= 3)
256 vars.push_back(NS::momentum_z);
258 for (const auto & name : vars)
259 {
260 InputParameters params = _factory.getValidParams("NSInitialCondition");
261 params.set<VariableName>("variable") = name;
262 params.set<Real>("initial_pressure") = _initial_pressure;
263 params.set<Real>("initial_temperature") = _initial_temperature;
264 params.set<RealVectorValue>("initial_velocity") = _initial_velocity;
265 params.set<UserObjectName>("fluid_properties") = _fp_name;
266 _problem->addInitialCondition("NSInitialCondition", name + std::string("_ic"), params);
267 }
268
269 // add ICs for aux variables (possibly we do not need this)
270 std::vector<VariableName> auxs;
271 auxs.push_back(NS::velocity_x);
272 if (_dim >= 2)
273 auxs.push_back(NS::velocity_y);
274 if (_dim >= 3)
275 auxs.push_back(NS::velocity_z);
276
277 auxs.push_back(_pressure_variable_name);
278 auxs.push_back(NS::temperature);
279 auxs.push_back(NS::specific_total_enthalpy);
280 auxs.push_back(NS::mach_number);
281
282 // Needed for FluidProperties calculations
283 auxs.push_back(NS::specific_internal_energy);
284 auxs.push_back(NS::specific_volume);
285 for (const auto & name : auxs)
286 {
287 InputParameters params = _factory.getValidParams("NSInitialCondition");
288 params.set<VariableName>("variable") = name;
289 params.set<Real>("initial_pressure") = _initial_pressure;
290 params.set<Real>("initial_temperature") = _initial_temperature;
291 params.set<RealVectorValue>("initial_velocity") = _initial_velocity;
292 params.set<UserObjectName>("fluid_properties") = _fp_name;
294 params.set<MooseEnum>("variable_type") = NS::pressure;
295 _problem->addInitialCondition("NSInitialCondition", name + std::string("_ic"), params);
296 }
297 }
298}
char ** vars
std::shared_ptr< MooseMesh > & _mesh
std::shared_ptr< FEProblemBase > & _problem
const std::string & _current_task
static std::string variableType(const libMesh::FEType &fe_type, const bool is_fv=false, const bool is_array=false)
void addNSMomentumInviscidSpecifiedPressureBC(unsigned int component)
Definition CNSAction.C:633
void addNSMomentumInviscidFlux(unsigned int component)
Definition CNSAction.C:493
void addNSMomentumWeakStagnationBC(unsigned int component)
Definition CNSAction.C:556
void addSpecificTotalEnthalpyAux()
Definition CNSAction.C:434
void addNSMassUnspecifiedNormalFlowBC()
Definition CNSAction.C:618
void addNSSUPGMass()
Definition CNSAction.C:328
void addNSMachAux()
Definition CNSAction.C:414
unsigned int _dim
Mesh dimension.
Definition CNSAction.h:111
void addNSEnergyInviscidSpecifiedPressureBC()
Definition CNSAction.C:656
void addNSInternalEnergyAux()
Definition CNSAction.C:396
void addNSSUPGMomentum(unsigned int component)
Definition CNSAction.C:343
void addNSVelocityAux(unsigned int component)
Definition CNSAction.C:450
void addNSMassWeakStagnationBC()
Definition CNSAction.C:525
void addNoPenetrationBC(unsigned int component)
Definition CNSAction.C:600
void addNSEnergyInviscidFlux()
Definition CNSAction.C:510
void addNSTimeKernels()
Definition CNSAction.C:301
void addNSMassInviscidFlux()
Definition CNSAction.C:483
std::set< SubdomainID > _block_ids
Subdomain IDs.
Definition CNSAction.h:113
void addNSEnergyWeakStagnationBC()
Definition CNSAction.C:541
void addSpecificVolumeComputation()
Definition CNSAction.C:378
void addPressureOrTemperatureAux(const std::string &kernel_type)
Definition CNSAction.C:468
void addNSSUPGEnergy()
Definition CNSAction.C:363
T & set(const std::string &name, bool quiet_mode=false)
const std::string & name() const
Factory & _factory
OrderWrapper order
std::string stringify(const T &t)
static const std::string specific_volume
Definition NS.h:82
static const std::string density
Definition NS.h:34
static const std::string velocity_y
Definition NS.h:48
static const std::string temperature
Definition NS.h:60
static const std::string total_energy_density
Definition NS.h:66
static const std::string momentum_x
Definition NS.h:36
static const std::string velocity_z
Definition NS.h:49
static const std::string momentum_y
Definition NS.h:37
static const std::string mach_number
Definition NS.h:81
static const std::string specific_total_enthalpy
Definition NS.h:70
static const std::string velocity_x
Definition NS.h:47
static const std::string specific_internal_energy
Definition NS.h:63
static const std::string pressure
Definition NS.h:57
static const std::string momentum_z
Definition NS.h:38
T component(const RankTwoTensorTempl< T > &r2tensor, unsigned int i, unsigned int j)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ addNoPenetrationBC()

void CNSAction::addNoPenetrationBC ( unsigned int  component)
protected

Definition at line 600 of file CNSAction.C.

601{
602 const static std::string momentums[3] = {NS::momentum_x, NS::momentum_y, NS::momentum_z};
603 const std::string kernel_type = "NSPressureNeumannBC";
604 InputParameters params = _factory.getValidParams(kernel_type);
605 params.set<NonlinearVariableName>("variable") = momentums[component];
606 setBCCommonParams(params);
607
608 // These BCs also need the component and couping to the pressure.
609 params.set<unsigned int>("component") = component;
611
612 params.set<std::vector<BoundaryName>>("boundary") = _no_penetration_boundary;
613 _problem->addBoundaryCondition(
614 kernel_type, momentums[component] + std::string("_no_penetration"), params);
615}
std::vector< VariableName > CoupledName
void setBCCommonParams(InputParameters &params)
Definition CNSAction.C:691

Referenced by act().

◆ addNSEnergyInviscidFlux()

void CNSAction::addNSEnergyInviscidFlux ( )
protected

Definition at line 510 of file CNSAction.C.

511{
512 const std::string kernel_type = "NSEnergyInviscidFlux";
513 InputParameters params = _factory.getValidParams(kernel_type);
514 params.set<NonlinearVariableName>("variable") = NS::total_energy_density;
515 setKernelCommonParams(params);
516
517 // Extra stuff needed by energy equation
519
520 // Add the Kernel
521 _problem->addKernel(kernel_type, "rhoE_if", params);
522}
void setKernelCommonParams(InputParameters &params)
Definition CNSAction.C:674

Referenced by act().

◆ addNSEnergyInviscidSpecifiedPressureBC()

void CNSAction::addNSEnergyInviscidSpecifiedPressureBC ( )
protected

Definition at line 656 of file CNSAction.C.

657{
658 const std::string kernel_type = "NSEnergyInviscidSpecifiedPressureBC";
659 InputParameters params = _factory.getValidParams(kernel_type);
660 params.set<NonlinearVariableName>("variable") = NS::total_energy_density;
661 setBCCommonParams(params);
662 // This BC also requires the current value of the temperature.
664 for (unsigned int i = 0; i < _static_pressure_boundary.size(); ++i)
665 {
666 params.set<std::vector<BoundaryName>>("boundary") = {_static_pressure_boundary[i]};
667 params.set<Real>("specified_pressure") = _static_pressure[i];
668 _problem->addBoundaryCondition(
669 kernel_type, "rhoE_specified_pressure_outflow_" + Moose::stringify(i), params);
670 }
671}

Referenced by act().

◆ addNSEnergyWeakStagnationBC()

void CNSAction::addNSEnergyWeakStagnationBC ( )
protected

Definition at line 541 of file CNSAction.C.

542{
543 const std::string kernel_type = "NSEnergyWeakStagnationBC";
544 InputParameters params = _factory.getValidParams(kernel_type);
545 params.set<NonlinearVariableName>("variable") = NS::total_energy_density;
546 setBCCommonParams(params);
547 for (unsigned int i = 0; i < _stagnation_boundary.size(); ++i)
548 {
550 _problem->addBoundaryCondition(
551 kernel_type, "weak_stagnation_energy_inflow_" + Moose::stringify(i), params);
552 }
553}
void setStagnationBCCommonParams(InputParameters &params, unsigned int i)
Definition CNSAction.C:706

Referenced by act().

◆ addNSInternalEnergyAux()

void CNSAction::addNSInternalEnergyAux ( )
protected

Definition at line 396 of file CNSAction.C.

397{
398 const std::string kernel_type = "NSInternalEnergyAux";
399
400 InputParameters params = _factory.getValidParams(kernel_type);
401 params.set<AuxVariableName>("variable") = NS::specific_internal_energy;
402
403 // coupled variables
406
407 // Couple the appropriate number of velocities
408 coupleVelocities(params);
409
410 _problem->addAuxKernel(kernel_type, "specific_internal_energy_auxkernel", params);
411}
void coupleVelocities(InputParameters &params)
Definition CNSAction.C:721

Referenced by act().

◆ addNSMachAux()

void CNSAction::addNSMachAux ( )
protected

Definition at line 414 of file CNSAction.C.

415{
416 const std::string kernel_type = "NSMachAux";
417
418 InputParameters params = _factory.getValidParams(kernel_type);
419 params.set<AuxVariableName>("variable") = NS::mach_number;
420
421 // coupled variables
424
425 // Couple the appropriate number of velocities
426 coupleVelocities(params);
427
428 params.set<UserObjectName>("fluid_properties") = _fp_name;
429
430 _problem->addAuxKernel(kernel_type, "mach_auxkernel", params);
431}

Referenced by act().

◆ addNSMassInviscidFlux()

void CNSAction::addNSMassInviscidFlux ( )
protected

Definition at line 483 of file CNSAction.C.

484{
485 const std::string kernel_type = "NSMassInviscidFlux";
486 InputParameters params = _factory.getValidParams(kernel_type);
487 params.set<NonlinearVariableName>("variable") = NS::density;
488 setKernelCommonParams(params);
489 _problem->addKernel(kernel_type, "rho_if", params);
490}

Referenced by act().

◆ addNSMassUnspecifiedNormalFlowBC()

void CNSAction::addNSMassUnspecifiedNormalFlowBC ( )
protected

Definition at line 618 of file CNSAction.C.

619{
620 const std::string kernel_type = "NSMassUnspecifiedNormalFlowBC";
621 InputParameters params = _factory.getValidParams(kernel_type);
622 params.set<NonlinearVariableName>("variable") = NS::density;
623 setBCCommonParams(params);
624 for (unsigned int i = 0; i < _static_pressure_boundary.size(); ++i)
625 {
626 params.set<std::vector<BoundaryName>>("boundary") = {_static_pressure_boundary[i]};
627 params.set<Real>("specified_pressure") = _static_pressure[i];
628 _problem->addBoundaryCondition(kernel_type, "mass_outflow_" + Moose::stringify(i), params);
629 }
630}

Referenced by act().

◆ addNSMassWeakStagnationBC()

void CNSAction::addNSMassWeakStagnationBC ( )
protected

Definition at line 525 of file CNSAction.C.

526{
527 const std::string kernel_type = "NSMassWeakStagnationBC";
528 InputParameters params = _factory.getValidParams(kernel_type);
529 params.set<NonlinearVariableName>("variable") = NS::density;
530 setBCCommonParams(params);
531
532 for (unsigned int i = 0; i < _stagnation_boundary.size(); ++i)
533 {
535 _problem->addBoundaryCondition(
536 kernel_type, "weak_stagnation_mass_inflow_" + Moose::stringify(i), params);
537 }
538}

Referenced by act().

◆ addNSMomentumInviscidFlux()

void CNSAction::addNSMomentumInviscidFlux ( unsigned int  component)
protected

Definition at line 493 of file CNSAction.C.

494{
495 const static std::string momentums[3] = {NS::momentum_x, NS::momentum_y, NS::momentum_z};
496 const std::string kernel_type = "NSMomentumInviscidFlux";
497 InputParameters params = _factory.getValidParams(kernel_type);
498 params.set<NonlinearVariableName>("variable") = momentums[component];
499 setKernelCommonParams(params);
500
501 // Extra stuff needed by momentum Kernels
503 params.set<unsigned int>("component") = component;
504
505 // Add the Kernel
506 _problem->addKernel(kernel_type, momentums[component] + std::string("if"), params);
507}

Referenced by act().

◆ addNSMomentumInviscidSpecifiedPressureBC()

void CNSAction::addNSMomentumInviscidSpecifiedPressureBC ( unsigned int  component)
protected

Definition at line 633 of file CNSAction.C.

634{
635 const static std::string momentums[3] = {NS::momentum_x, NS::momentum_y, NS::momentum_z};
636 const std::string kernel_type = "NSMomentumInviscidSpecifiedPressureBC";
637 InputParameters params = _factory.getValidParams(kernel_type);
638 params.set<NonlinearVariableName>("variable") = momentums[component];
639 setBCCommonParams(params);
640
641 // These BCs also need the component.
642 params.set<unsigned int>("component") = component;
643
644 for (unsigned int i = 0; i < _static_pressure_boundary.size(); ++i)
645 {
646 params.set<std::vector<BoundaryName>>("boundary") = {_static_pressure_boundary[i]};
647 params.set<Real>("specified_pressure") = _static_pressure[i];
648 _problem->addBoundaryCondition(
649 kernel_type,
650 momentums[component] + std::string("_specified_pressure_outflow_") + Moose::stringify(i),
651 params);
652 }
653}

Referenced by act().

◆ addNSMomentumWeakStagnationBC()

void CNSAction::addNSMomentumWeakStagnationBC ( unsigned int  component)
protected

Definition at line 556 of file CNSAction.C.

557{
558 const static std::string momentums[3] = {NS::momentum_x, NS::momentum_y, NS::momentum_z};
559
560 // Convective part
561 {
562 const std::string kernel_type = "NSMomentumConvectiveWeakStagnationBC";
563 InputParameters params = _factory.getValidParams(kernel_type);
564 params.set<NonlinearVariableName>("variable") = momentums[component];
565 setBCCommonParams(params);
566 // Momentum BCs also need the component.
567 params.set<unsigned int>("component") = component;
568 for (unsigned int i = 0; i < _stagnation_boundary.size(); ++i)
569 {
571 _problem->addBoundaryCondition(kernel_type,
572 std::string("weak_stagnation_") + momentums[component] +
573 std::string("_convective_inflow_") + Moose::stringify(i),
574 params);
575 }
576 }
577
578 // Pressure part
579 {
580 const std::string kernel_type = "NSMomentumPressureWeakStagnationBC";
581 InputParameters params = _factory.getValidParams(kernel_type);
582 params.set<NonlinearVariableName>("variable") = momentums[component];
583 setBCCommonParams(params);
584 // Momentum BCs also need the component.
585 params.set<unsigned int>("component") = component;
586
587 for (unsigned int i = 0; i < _stagnation_boundary.size(); ++i)
588 {
590
591 _problem->addBoundaryCondition(kernel_type,
592 std::string("weak_stagnation_") + momentums[component] +
593 std::string("_pressure_inflow_") + Moose::stringify(i),
594 params);
595 }
596 }
597}

Referenced by act().

◆ addNSSUPGEnergy()

void CNSAction::addNSSUPGEnergy ( )
protected

Definition at line 363 of file CNSAction.C.

364{
365 const std::string kernel_type = "NSSUPGEnergy";
366 InputParameters params = _factory.getValidParams(kernel_type);
367 params.set<NonlinearVariableName>("variable") = NS::total_energy_density;
368 setKernelCommonParams(params);
369
370 // SUPG Kernels also need temperature and specific_total_enthalpy currently.
373
374 _problem->addKernel(kernel_type, "rhoE_supg", params);
375}

Referenced by act().

◆ addNSSUPGMass()

void CNSAction::addNSSUPGMass ( )
protected

Definition at line 328 of file CNSAction.C.

329{
330 const std::string kernel_type = "NSSUPGMass";
331 InputParameters params = _factory.getValidParams(kernel_type);
332 params.set<NonlinearVariableName>("variable") = NS::density;
333 setKernelCommonParams(params);
334
335 // SUPG Kernels also need temperature and specific_total_enthalpy currently.
338
339 _problem->addKernel(kernel_type, "rho_supg", params);
340}

Referenced by act().

◆ addNSSUPGMomentum()

void CNSAction::addNSSUPGMomentum ( unsigned int  component)
protected

Definition at line 343 of file CNSAction.C.

344{
345 const static std::string momentums[3] = {NS::momentum_x, NS::momentum_y, NS::momentum_z};
346
347 const std::string kernel_type = "NSSUPGMomentum";
348 InputParameters params = _factory.getValidParams(kernel_type);
349 params.set<NonlinearVariableName>("variable") = momentums[component];
350 setKernelCommonParams(params);
351
352 // SUPG Kernels also need temperature and specific_total_enthalpy currently.
355
356 // Momentum Kernels also need the component.
357 params.set<unsigned int>("component") = component;
358
359 _problem->addKernel(kernel_type, momentums[component] + std::string("_supg"), params);
360}

Referenced by act().

◆ addNSTimeKernels()

void CNSAction::addNSTimeKernels ( )
protected

Definition at line 301 of file CNSAction.C.

302{
303 const std::string kernel_type = "TimeDerivative";
304 InputParameters params = _factory.getValidParams(kernel_type);
305 params.set<std::vector<SubdomainName>>("block") = _blocks;
306
307 params.set<NonlinearVariableName>("variable") = NS::density;
308 _problem->addKernel(kernel_type, NS::density + "_time_deriv", params);
309
310 params.set<NonlinearVariableName>("variable") = NS::momentum_x;
311 _problem->addKernel(kernel_type, NS::momentum_x + "_time_deriv", params);
312 if (_dim >= 2)
313 {
314 params.set<NonlinearVariableName>("variable") = NS::momentum_y;
315 _problem->addKernel(kernel_type, NS::momentum_y + "_time_deriv", params);
316 }
317 if (_dim >= 3)
318 {
319 params.set<NonlinearVariableName>("variable") = NS::momentum_z;
320 _problem->addKernel(kernel_type, NS::momentum_z + "_time_deriv", params);
321 }
322
323 params.set<NonlinearVariableName>("variable") = NS::total_energy_density;
324 _problem->addKernel(kernel_type, NS::total_energy_density + "_time_deriv", params);
325}

Referenced by act().

◆ addNSVelocityAux()

void CNSAction::addNSVelocityAux ( unsigned int  component)
protected

Definition at line 450 of file CNSAction.C.

451{
452 const std::string kernel_type = "NSVelocityAux";
453 const static std::string velocities[3] = {NS::velocity_x, NS::velocity_y, NS::velocity_z};
454 const static std::string momentums[3] = {NS::momentum_x, NS::momentum_y, NS::momentum_z};
455
456 InputParameters params = _factory.getValidParams(kernel_type);
457 params.set<AuxVariableName>("variable") = velocities[component];
458
459 // coupled variables
461 params.set<CoupledName>("momentum") = {momentums[component]};
462 params.set<UserObjectName>("fluid_properties") = _fp_name;
463
464 _problem->addAuxKernel(kernel_type, velocities[component] + "_auxkernel", params);
465}

Referenced by act().

◆ addPressureOrTemperatureAux()

void CNSAction::addPressureOrTemperatureAux ( const std::string &  kernel_type)
protected

Definition at line 468 of file CNSAction.C.

469{
470 InputParameters params = _factory.getValidParams(kernel_type);
471 std::string var_name = (kernel_type == "PressureAux" ? _pressure_variable_name : NS::temperature);
472 params.set<AuxVariableName>("variable") = var_name;
473
474 // coupled variables
476 params.set<CoupledName>("v") = {NS::specific_volume};
477 params.set<UserObjectName>("fp") = _fp_name;
478
479 _problem->addAuxKernel(kernel_type, var_name + "_auxkernel", params);
480}

Referenced by act().

◆ addSpecificTotalEnthalpyAux()

void CNSAction::addSpecificTotalEnthalpyAux ( )
protected

Definition at line 434 of file CNSAction.C.

435{
436 const std::string kernel_type = "NSSpecificTotalEnthalpyAux";
437
438 InputParameters params = _factory.getValidParams(kernel_type);
439 params.set<AuxVariableName>("variable") = NS::specific_total_enthalpy;
440
441 // coupled variables
445
446 _problem->addAuxKernel(kernel_type, "specific_total_enthalpy_auxkernel", params);
447}

Referenced by act().

◆ addSpecificVolumeComputation()

void CNSAction::addSpecificVolumeComputation ( )
protected

Definition at line 378 of file CNSAction.C.

379{
380 const std::string kernel_type = "ParsedAux";
381
382 InputParameters params = _factory.getValidParams(kernel_type);
383 params.set<AuxVariableName>("variable") = NS::specific_volume;
384
385 // arguments
386 params.set<CoupledName>("coupled_variables") = {NS::density};
387
388 // expression
389 std::string function = "if(" + NS::density + " = 0, 1e10, 1 / " + NS::density + ")";
390 params.set<std::string>("expression") = function;
391
392 _problem->addAuxKernel(kernel_type, "specific_volume_auxkernel", params);
393}

Referenced by act().

◆ coupleMomentums()

void CNSAction::coupleMomentums ( InputParameters params)
protected

Definition at line 733 of file CNSAction.C.

734{
736
737 if (_dim >= 2)
739
740 if (_dim >= 3)
742}

Referenced by setBCCommonParams(), and setKernelCommonParams().

◆ coupleVelocities()

void CNSAction::coupleVelocities ( InputParameters params)
protected

Definition at line 721 of file CNSAction.C.

722{
724
725 if (_dim >= 2)
727
728 if (_dim >= 3)
730}

Referenced by addNSInternalEnergyAux(), addNSMachAux(), setBCCommonParams(), and setKernelCommonParams().

◆ setBCCommonParams()

void CNSAction::setBCCommonParams ( InputParameters params)
protected

Definition at line 691 of file CNSAction.C.

692{
693 // coupled variables
696
697 // Couple the appropriate number of velocities
698 coupleVelocities(params);
699 coupleMomentums(params);
700
701 // FluidProperties object
702 params.set<UserObjectName>("fluid_properties") = _fp_name;
703}
void coupleMomentums(InputParameters &params)
Definition CNSAction.C:733

Referenced by addNoPenetrationBC(), addNSEnergyInviscidSpecifiedPressureBC(), addNSEnergyWeakStagnationBC(), addNSMassUnspecifiedNormalFlowBC(), addNSMassWeakStagnationBC(), addNSMomentumInviscidSpecifiedPressureBC(), and addNSMomentumWeakStagnationBC().

◆ setKernelCommonParams()

void CNSAction::setKernelCommonParams ( InputParameters params)
protected

Definition at line 674 of file CNSAction.C.

675{
676 params.set<std::vector<SubdomainName>>("block") = _blocks;
677
678 // coupled variables
681
682 // Couple the appropriate number of velocities
683 coupleVelocities(params);
684 coupleMomentums(params);
685
686 // FluidProperties object
687 params.set<UserObjectName>("fluid_properties") = _fp_name;
688}

Referenced by addNSEnergyInviscidFlux(), addNSMassInviscidFlux(), addNSMomentumInviscidFlux(), addNSSUPGEnergy(), addNSSUPGMass(), and addNSSUPGMomentum().

◆ setStagnationBCCommonParams()

void CNSAction::setStagnationBCCommonParams ( InputParameters params,
unsigned int  i 
)
protected

Definition at line 706 of file CNSAction.C.

707{
708 params.set<std::vector<BoundaryName>>("boundary") = {_stagnation_boundary[i]};
709 params.set<Real>("stagnation_pressure") = _stagnation_pressure[i];
710 params.set<Real>("stagnation_temperature") = _stagnation_temperature[i];
711 params.set<Real>("sx") = _stagnation_direction[_dim * i];
712 if (_dim == 1)
713 params.set<Real>("sy") = 0;
714 if (_dim >= 2)
715 params.set<Real>("sy") = _stagnation_direction[_dim * i + 1];
716 if (_dim >= 3)
717 params.set<Real>("sz") = _stagnation_direction[_dim * i + 2];
718}

Referenced by addNSEnergyWeakStagnationBC(), addNSMassWeakStagnationBC(), and addNSMomentumWeakStagnationBC().

◆ validParams()

InputParameters CNSAction::validParams ( )
static

Definition at line 32 of file CNSAction.C.

33{
35 params.addClassDescription("This class allows us to have a section of the input file like the "
36 "following which automatically adds Kernels and AuxKernels for all "
37 "the required nonlinear and auxiliary variables.");
38
39 MooseEnum type("steady-state transient", "steady-state");
40 params.addParam<MooseEnum>("equation_type", type, "Navier-Stokes equation type");
41
42 params.addParam<std::vector<SubdomainName>>(
43 "block", {}, "The list of block ids (SubdomainID) on which NS equation is defined on");
44
45 params.addRequiredParam<UserObjectName>("fluid_properties",
46 "The name of the user object for fluid properties");
47
48 params.addParam<std::vector<BoundaryName>>(
49 "stagnation_boundary", std::vector<BoundaryName>(), "Stagnation boundaries");
50 params.addParam<std::vector<Real>>(
51 "stagnation_pressure", std::vector<Real>(), "Pressure on stagnation boundaries");
52 params.addParam<std::vector<Real>>(
53 "stagnation_temperature", std::vector<Real>(), "Temperature on stagnation boundaries");
54 params.addParam<std::vector<Real>>(
55 "stagnation_flow_direction", std::vector<Real>(), "Flow directions on stagnation boundaries");
56 params.addParam<std::vector<BoundaryName>>(
57 "no_penetration_boundary", std::vector<BoundaryName>(), "No-penetration boundaries");
58 params.addParam<std::vector<BoundaryName>>(
59 "static_pressure_boundary", std::vector<BoundaryName>(), "Static pressure boundaries");
60 params.addParam<std::vector<Real>>(
61 "static_pressure", std::vector<Real>(), "Static pressure on boundaries");
62
65 params.addParam<MooseEnum>(
66 "family", families, "Specifies the family of FE shape functions to use for this variable");
67 params.addParam<MooseEnum>("order",
68 orders,
69 "Specifies the order of the FE shape function to use "
70 "for this variable (additional orders not listed are "
71 "allowed)");
72 params.addParam<Real>("density_scaling", 1, "Scaling for the density variable");
74 "momentum_scaling", RealVectorValue(1, 1, 1), "Scaling for the momentum variables");
75 params.addParam<Real>("total_energy_density_scaling", 1, "Scaling for the total-energy variable");
76
77 params.addRequiredParam<Real>("initial_pressure",
78 "The initial pressure, assumed constant everywhere");
79 params.addRequiredParam<Real>("initial_temperature",
80 "The initial temperature, assumed constant everywhere");
81 params.addRequiredParam<RealVectorValue>("initial_velocity",
82 "The initial velocity, assumed constant everywhere");
83
84 params.addParamNamesToGroup("equation_type block fluid_properties", "Base");
86 "stagnation_boundary stagnation_pressure stagnation_temperature "
87 "stagnation_flow_direction no_penetration_boundary static_pressure_boundary static_pressure",
88 "BoundaryCondition");
90 "family order density_scaling momentum_scaling total_energy_density_scaling", "Variable");
91 params.addParam<std::string>("pressure_variable_name",
92 "A name for the pressure variable. If this is not provided, a "
93 "sensible default will be used.");
94 return params;
95}
static InputParameters validParams()
static MooseEnum getNonlinearVariableFamilies()
static MooseEnum getNonlinearVariableOrders()
void addParamNamesToGroup(const std::string &space_delim_names, const std::string group_name)
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
const std::string & type() const
VectorValue< Real > RealVectorValue

Member Data Documentation

◆ _block_ids

std::set<SubdomainID> CNSAction::_block_ids
protected

Subdomain IDs.

Definition at line 113 of file CNSAction.h.

Referenced by act().

◆ _blocks

std::vector<SubdomainName> CNSAction::_blocks
protected

Subdomains Navier-Stokes equation is defined on.

Definition at line 87 of file CNSAction.h.

Referenced by act(), addNSTimeKernels(), and setKernelCommonParams().

◆ _dim

unsigned int CNSAction::_dim
protected

Mesh dimension.

Definition at line 111 of file CNSAction.h.

Referenced by act(), addNSTimeKernels(), coupleMomentums(), coupleVelocities(), and setStagnationBCCommonParams().

◆ _fe_type

libMesh::FEType CNSAction::_fe_type
protected

FE type for various variables.

Definition at line 103 of file CNSAction.h.

Referenced by act().

◆ _fp_name

UserObjectName CNSAction::_fp_name
protected

Name of the FluidProperties object to pass on to Kernels.

Definition at line 85 of file CNSAction.h.

Referenced by act(), addNSMachAux(), addNSVelocityAux(), addPressureOrTemperatureAux(), setBCCommonParams(), and setKernelCommonParams().

◆ _initial_pressure

Real CNSAction::_initial_pressure
protected

Initial value for pressure.

Definition at line 105 of file CNSAction.h.

Referenced by act().

◆ _initial_temperature

Real CNSAction::_initial_temperature
protected

Initial value for temperature.

Definition at line 107 of file CNSAction.h.

Referenced by act().

◆ _initial_velocity

RealVectorValue CNSAction::_initial_velocity
protected

Initial value for velocity.

Definition at line 109 of file CNSAction.h.

Referenced by act().

◆ _no_penetration_boundary

std::vector<BoundaryName> CNSAction::_no_penetration_boundary
protected

Boundaries no-penetration BC applies.

Definition at line 97 of file CNSAction.h.

Referenced by act(), and addNoPenetrationBC().

◆ _pressure_variable_name

const std::string CNSAction::_pressure_variable_name
protected

◆ _stagnation_boundary

std::vector<BoundaryName> CNSAction::_stagnation_boundary
protected

◆ _stagnation_direction

std::vector<Real> CNSAction::_stagnation_direction
protected

Flow directions on stagnation boundaries.

Definition at line 95 of file CNSAction.h.

Referenced by act(), and setStagnationBCCommonParams().

◆ _stagnation_pressure

std::vector<Real> CNSAction::_stagnation_pressure
protected

Pressures on stagnation boundaries.

Definition at line 91 of file CNSAction.h.

Referenced by CNSAction(), and setStagnationBCCommonParams().

◆ _stagnation_temperature

std::vector<Real> CNSAction::_stagnation_temperature
protected

Temperatures on stagnation boundaries.

Definition at line 93 of file CNSAction.h.

Referenced by CNSAction(), and setStagnationBCCommonParams().

◆ _static_pressure

std::vector<Real> CNSAction::_static_pressure
protected

Pressures on static pressure boundaries.

Definition at line 101 of file CNSAction.h.

Referenced by addNSEnergyInviscidSpecifiedPressureBC(), addNSMassUnspecifiedNormalFlowBC(), addNSMomentumInviscidSpecifiedPressureBC(), and CNSAction().

◆ _static_pressure_boundary

std::vector<BoundaryName> CNSAction::_static_pressure_boundary
protected

Boundaries static pressure BC applies.

Definition at line 99 of file CNSAction.h.

Referenced by act(), addNSEnergyInviscidSpecifiedPressureBC(), addNSMassUnspecifiedNormalFlowBC(), addNSMomentumInviscidSpecifiedPressureBC(), and CNSAction().

◆ _type

MooseEnum CNSAction::_type
protected

Equation type, transient or steady-state.

Definition at line 83 of file CNSAction.h.

Referenced by act().


The documentation for this class was generated from the following files: