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)
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);
ForcesAndSourcesCore::UserDataOperator UserDataOperator
#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 ...
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()
function is run at the beginning of loop
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