12#ifndef __FLUID_PRESSURE_HPP
13#define __FLUID_PRESSURE_HPP
46 friend std::ostream &
operator<<(std::ostream &os,
58 boost::ptr_vector<MethodForForceScaling> &
methodsOp;
63 boost::ptr_vector<MethodForForceScaling> &methods_op,
64 bool allow_negative_pressure,
bool ho_geometry)
73 MoFEMErrorCode
doWork(
int side, EntityType type,
74 EntitiesFieldData::EntData &data);
80 const std::string mesh_nodals_positions =
"MESH_NODE_POSITIONS");
83 string field_name, Vec
F,
bool allow_negative_pressure =
true,
84 bool ho_geometry =
false);
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
constexpr int order
Order displacement.
implementation of Data Operators for Forces and Sources
constexpr auto field_name
friend std::ostream & operator<<(std::ostream &os, const FluidPressure::FluidData &e)
VectorDouble zEroPressure
fluid level of reference zero pressure.
Range tRis
range of surface element to which fluid pressure is applied
double dEnsity
fluid density [kg/m^2] or any consistent unit
VectorDouble aCCeleration
acceleration [m/s^2]
MoFEMErrorCode preProcess()
Pre-processing function executed at loop initialization.
MyTriangleFE(MoFEM::Interface &m_field)
boost::ptr_vector< MethodForForceScaling > & methodsOp
MoFEMErrorCode doWork(int side, EntityType type, EntitiesFieldData::EntData &data)
bool allowNegativePressure
allows for negative pressures
OpCalculatePressure(const std::string field_name, Vec _F, FluidData &data, boost::ptr_vector< MethodForForceScaling > &methods_op, bool allow_negative_pressure, bool ho_geometry)
boost::ptr_vector< MethodForForceScaling > methodsOp
std::map< MeshSetId, FluidData > setOfFluids
MyTriangleFE & getLoopFe()
MoFEMErrorCode setNeumannFluidPressureFiniteElementOperators(string field_name, Vec F, bool allow_negative_pressure=true, bool ho_geometry=false)
FluidPressure(MoFEM::Interface &m_field)
MoFEM::Interface & mField
MoFEMErrorCode addNeumannFluidPressureBCElements(const std::string field_name, const std::string mesh_nodals_positions="MESH_NODE_POSITIONS")
Deprecated interface functions.
default operator for TRI element
@ OPROW
operator doWork function is executed on FE rows