https://mooseframework.inl.gov
Loading...
Searching...
No Matches
INSAction.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
12#include "Action.h"
13
14#include "MooseEnum.h"
15#include "libmesh/fe_type.h"
16
25class INSAction : public Action
26{
27public:
29
31
32 virtual void act() override;
33
34protected:
35 // Helper function that sets the parameters which are common to all INS Kernels.
38
39 // Helper functions that add various inviscid flux Kernels.
40 void addINSTimeKernels();
41 void addINSMass();
42 void addINSMomentum();
43 void addINSTemperature();
44 void addINSVelocityAux();
45
46 // Helper functions that add BCs.
47 void addINSVelocityBC();
49 void addINSNoBCBC();
50 void addINSPressureBC();
52
56 std::vector<SubdomainName> _blocks;
58 std::vector<BoundaryName> _velocity_boundary;
60 std::vector<FunctionName> _velocity_function;
62 std::vector<BoundaryName> _pressure_boundary;
64 std::vector<FunctionName> _pressure_function;
66 std::vector<BoundaryName> _no_bc_boundary;
70 BoundaryName _pinned_node;
72 std::vector<BoundaryName> _fixed_temperature_boundary;
74 std::vector<FunctionName> _temperature_function;
78 bool _use_ad;
82 unsigned int _dim;
84 std::set<SubdomainID> _block_ids;
86 const std::string _pressure_variable_name;
87};
This class allows us to have a section of the input file like the following which automatically adds ...
Definition INSAction.h:26
void addINSPinnedPressureBC()
Definition INSAction.C:996
std::vector< BoundaryName > _velocity_boundary
Boundaries with velocity specified.
Definition INSAction.h:58
void addINSVelocityBC()
Definition INSAction.C:821
std::set< SubdomainID > _block_ids
Subdomain IDs.
Definition INSAction.h:84
void addINSMomentum()
Definition INSAction.C:617
VariableName _temperature_variable_name
Temperature variable name to facilitate temperature variable added outside.
Definition INSAction.h:80
std::vector< BoundaryName > _fixed_temperature_boundary
Boundaries with temperature specified.
Definition INSAction.h:72
BoundaryName _pinned_node
The node set name of the pinned node.
Definition INSAction.h:70
void addINSNoBCBC()
Definition INSAction.C:1006
void addINSVelocityAux()
Definition INSAction.C:602
void addINSMass()
Definition INSAction.C:566
bool _use_ad
Whether we use AD or not.
Definition INSAction.h:78
std::vector< FunctionName > _temperature_function
Temperature function names at fixed temperature boundaries.
Definition INSAction.h:74
void addINSTemperatureBC()
Definition INSAction.C:934
static InputParameters validParams()
Definition INSAction.C:36
unsigned int _dim
Mesh dimension.
Definition INSAction.h:82
libMesh::FEType _fe_type
FE type for various variables.
Definition INSAction.h:76
virtual void act() override
Definition INSAction.C:241
MooseEnum _type
Equation type, transient or steady-state.
Definition INSAction.h:54
const std::string _pressure_variable_name
pressure variable name
Definition INSAction.h:86
bool _has_pinned_node
Whether or not we need to pin pressure at a node.
Definition INSAction.h:68
void addINSTemperature()
Definition INSAction.C:733
void addINSTimeKernels()
Definition INSAction.C:514
std::vector< SubdomainName > _blocks
Subdomains Navier-Stokes equation is defined on.
Definition INSAction.h:56
void setNoBCCommonParams(InputParameters &params)
Definition INSAction.C:1065
void setKernelCommonParams(InputParameters &params)
Definition INSAction.C:1040
std::vector< BoundaryName > _no_bc_boundary
No-BC boundaries.
Definition INSAction.h:66
std::vector< FunctionName > _pressure_function
Pressure function names at pressure boundaries.
Definition INSAction.h:64
std::vector< BoundaryName > _pressure_boundary
Boundaries with pressure specified.
Definition INSAction.h:62
void addINSPressureBC()
Definition INSAction.C:968
std::vector< FunctionName > _velocity_function
Velocity function names at velocity boundaries.
Definition INSAction.h:60
const InputParameters & parameters() const