39 unsigned int TableId = rParameters[
"table"].
GetInt();
41 mTimeUnitConverter =
model_part.GetProcessInfo()[TIME_UNIT_CONVERTER];
57 const double deltaH = mpTable->GetValue(Time);
60 double xcoord = rNode.Coordinates()[mHorizontalDirection];
61 xcoord = std::max(xcoord,mMinHorizontalCoordinate);
62 xcoord = std::min(xcoord,mMaxHorizontalCoordinate);
63 double height = mSlope * ( xcoord - mFirstReferenceCoordinate[mHorizontalDirection]) + mFirstReferenceCoordinate[mGravityDirection];
64 const double distance = height - rNode.Coordinates()[mGravityDirection];
65 const double pressure = mSpecificWeight * (distance + deltaH);
66 rNode.FastGetSolutionStepValue(var) = std::max(pressure,0.0);
73 std::string
Info()
const override
75 return "ApplyBoundaryPhreaticLinePressureTableProcess";
80 TableType::Pointer mpTable;
81 double mTimeUnitConverter;
Definition: apply_boundary_phreatic_line_pressure_table_process.hpp:24
ApplyBoundaryPhreaticLinePressureTableProcess(ModelPart &model_part, Parameters rParameters)
Definition: apply_boundary_phreatic_line_pressure_table_process.hpp:33
ApplyBoundaryPhreaticLinePressureTableProcess(const ApplyBoundaryPhreaticLinePressureTableProcess &)=delete
std::string Info() const override
Turn back information as a string.
Definition: apply_boundary_phreatic_line_pressure_table_process.hpp:73
KRATOS_CLASS_POINTER_DEFINITION(ApplyBoundaryPhreaticLinePressureTableProcess)
void ExecuteInitializeSolutionStep() override
this function will be executed at every time step BEFORE performing the solve phase
Definition: apply_boundary_phreatic_line_pressure_table_process.hpp:51
~ApplyBoundaryPhreaticLinePressureTableProcess() override=default
ApplyBoundaryPhreaticLinePressureTableProcess & operator=(const ApplyBoundaryPhreaticLinePressureTableProcess &)=delete
Definition: apply_constant_boundary_phreatic_line_pressure_process.hpp:26
std::string mVariableName
Definition: apply_constant_boundary_phreatic_line_pressure_process.hpp:134
ModelPart & mrModelPart
Member Variables.
Definition: apply_constant_boundary_phreatic_line_pressure_process.hpp:133
KratosComponents class encapsulates a lookup table for a family of classes in a generic way.
Definition: kratos_components.h:49
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
ProcessInfo & GetProcessInfo()
Definition: model_part.h:1746
NodesContainerType & Nodes(IndexType ThisIndex=0)
Definition: model_part.h:507
This class defines the node.
Definition: node.h:65
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
int GetInt() const
This method returns the integer contained in the current Parameter.
Definition: kratos_parameters.cpp:666
#define KRATOS_CATCH(MoreInfo)
Definition: define.h:110
#define KRATOS_TRY
Definition: define.h:109
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
void block_for_each(TIterator itBegin, TIterator itEnd, TFunction &&rFunction)
Execute a functor on all items of a range in parallel.
Definition: parallel_utilities.h:299
model_part
Definition: face_heat.py:14