v0.14.0 |
Element for simulating viscous fluid flow. More...
#include <users_modules/basic_finite_elements/src/NavierStokesElement.hpp>
Classes | |
struct | BlockData |
struct | CommonData |
struct | FaceRule |
struct | LoadScale |
struct | OpAssembleLhs |
Base class for operators assembling LHS. More... | |
struct | OpAssembleLhsDiagLin |
Assemble linear (symmetric) part of the diagonal block of the LHS Operator for assembling linear (symmetric) part of the diagonal block of the LHS. More... | |
struct | OpAssembleLhsDiagNonLin |
Assemble non-linear (non-symmetric) part of the diagonal block of the LHS Operator for assembling non-linear (non-symmetric) part of the diagonal block of the LHS. More... | |
struct | OpAssembleLhsOffDiag |
Assemble off-diagonal block of the LHS Operator for assembling off-diagonal block of the LHS. More... | |
struct | OpAssembleRhs |
Base class for operators assembling RHS. More... | |
struct | OpAssembleRhsPressure |
Assemble the pressure component of the RHS vector. More... | |
struct | OpAssembleRhsVelocityLin |
Assemble linear part of the velocity component of the RHS vector. More... | |
struct | OpAssembleRhsVelocityNonLin |
Assemble non-linear part of the velocity component of the RHS vector. More... | |
struct | OpCalcDragForce |
Calculate drag force on the fluid-solid interface. More... | |
struct | OpCalcDragTraction |
Calculate drag traction on the fluid-solid interface. More... | |
struct | OpCalcVolumeFlux |
calculating volumetric flux More... | |
struct | OpPostProcDrag |
Post processing output of drag traction on the fluid-solid interface. More... | |
struct | OpPostProcVorticity |
Post processing output of the vorticity criterion levels. More... | |
struct | VolRule |
Set integration rule to volume elements. More... | |
Static Public Member Functions | |
static MoFEMErrorCode | addElement (MoFEM::Interface &m_field, const string element_name, const string velocity_field_name, const string pressure_field_name, const string mesh_field_name, const int dim=3, Range *ents=nullptr) |
Setting up elements. More... | |
static MoFEMErrorCode | setNavierStokesOperators (boost::shared_ptr< VolumeElementForcesAndSourcesCore > feRhs, boost::shared_ptr< VolumeElementForcesAndSourcesCore > feLhs, const std::string velocity_field, const std::string pressure_field, boost::shared_ptr< CommonData > common_data, const EntityType type=MBTET) |
Setting up operators for solving Navier-Stokes equations. More... | |
static MoFEMErrorCode | setStokesOperators (boost::shared_ptr< VolumeElementForcesAndSourcesCore > feRhs, boost::shared_ptr< VolumeElementForcesAndSourcesCore > feLhs, const std::string velocity_field, const std::string pressure_field, boost::shared_ptr< CommonData > common_data, const EntityType type=MBTET) |
Setting up operators for solving Stokes equations. More... | |
static MoFEMErrorCode | setCalcDragOperators (boost::shared_ptr< FaceElementForcesAndSourcesCore > dragFe, boost::shared_ptr< VolumeElementForcesAndSourcesCoreOnSide > sideDragFe, std::string side_fe_name, const std::string velocity_field, const std::string pressure_field, boost::shared_ptr< CommonData > common_data) |
Setting up operators for calculating drag force on the solid surface. More... | |
static MoFEMErrorCode | setPostProcDragOperators (boost::shared_ptr< PostProcFace > postProcDragPtr, boost::shared_ptr< VolumeElementForcesAndSourcesCoreOnSide > sideDragFe, std::string side_fe_name, const std::string velocity_field, const std::string pressure_field, boost::shared_ptr< CommonData > common_data) |
Setting up operators for post processing output of drag traction. More... | |
static MoFEMErrorCode | setCalcVolumeFluxOperators (boost::shared_ptr< VolumeElementForcesAndSourcesCore > fe_flux_ptr, const std::string velocity_field, boost::shared_ptr< CommonData > common_data, const EntityType type=MBTET) |
Setting up operators for calculation of volume flux. More... | |
Element for simulating viscous fluid flow.
Definition at line 25 of file NavierStokesElement.hpp.
Definition at line 36 of file NavierStokesElement.hpp.
using NavierStokesElement::FaceUserDataOperator = MoFEM::FaceElementForcesAndSourcesCore::UserDataOperator |
Definition at line 35 of file NavierStokesElement.hpp.
Definition at line 30 of file NavierStokesElement.hpp.
using NavierStokesElement::PostProcVol = PostProcBrokenMeshInMoab<VolumeElementForcesAndSourcesCore> |
Definition at line 28 of file NavierStokesElement.hpp.
using NavierStokesElement::UserDataOperator = MoFEM::VolumeElementForcesAndSourcesCore::UserDataOperator |
Definition at line 33 of file NavierStokesElement.hpp.
|
inlinestatic |
Setting up elements.
This functions adds element to the database, adds provided fields to rows and columns of the element, provides access of the element to the fields data and adds entities of particular dimension (or a given range of entities to the element)
m_field | MoFEM interface |
element_name | Name of the element |
velocity_field_name | Name of the velocity field |
pressure_field_name | Name of the pressure field |
mesh_field_name | Name for mesh node positions field |
ents | Range of entities to be added to element |
Definition at line 129 of file NavierStokesElement.hpp.
|
static |
Setting up operators for calculating drag force on the solid surface.
Pushes operators for caluclating drag force components on the fluid-solid interface
dragFe | pointer to face element instance |
sideDragFe | pointer to volume on side element instance |
velocity_field | name of the velocity field |
pressure_field | name of the pressure field |
common_data | pointer to common data object |
Definition at line 150 of file NavierStokesElement.cpp.
|
static |
Setting up operators for calculation of volume flux.
Definition at line 124 of file NavierStokesElement.cpp.
|
static |
Setting up operators for solving Navier-Stokes equations.
Pushes operators for solving Navier-Stokes equations to pipelines of RHS and LHS element instances
feRhs | pointer to RHS element instance |
feLhs | pointer to LHS element instance |
velocity_field | name of the velocity field |
pressure_field | name of the pressure field |
common_data | pointer to common data object |
type | type of entities in the domain |
Definition at line 22 of file NavierStokesElement.cpp.
|
static |
Setting up operators for post processing output of drag traction.
Pushes operators for post processing ouput of drag traction components on the fluid-solid interface
dragFe | pointer to face element instance |
sideDragFe | pointer to volume on side element instance |
velocity_field | name of the velocity field |
pressure_field | name of the pressure field |
common_data | pointer to common data object |
Definition at line 184 of file NavierStokesElement.cpp.
|
static |
Setting up operators for solving Stokes equations.
Pushes operators for solving Stokes equations to pipelines of RHS and LHS element instances
feRhs | pointer to RHS element instance |
feLhs | pointer to LHS element instance |
velocity_field | name of the velocity field |
pressure_field | name of the pressure field |
common_data | pointer to common data object |
type | type of entities in the domain |
Definition at line 79 of file NavierStokesElement.cpp.