14 #if !defined(KRATOS_DAM_ADDED_MASS_CONDITION_PROCESS)
15 #define KRATOS_DAM_ADDED_MASS_CONDITION_PROCESS
49 "model_part_name":"PLEASE_CHOOSE_MODEL_PART_NAME",
50 "variable_name": "PLEASE_PRESCRIBE_VARIABLE_NAME",
52 "Gravity_Direction" : "Y",
53 "Reservoir_Bottom_Coordinate_in_Gravity_Direction" : 0.0,
64 rParameters[
"Reservoir_Bottom_Coordinate_in_Gravity_Direction"];
65 rParameters[
"variable_name"];
66 rParameters[
"model_part_name"];
107 #pragma omp parallel for
110 ModelPart::NodesContainerType::iterator it = it_begin +
i;
112 double y_water =
mWaterLevel - (it->Coordinates()[direction]);
121 it->FastGetSolutionStepValue(var) = added_mass;
123 if (added_mass > 0.0)
125 it->FastGetSolutionStepValue(var) = added_mass;
129 it->FastGetSolutionStepValue(var) = 0.0;
159 #pragma omp parallel for
162 ModelPart::NodesContainerType::iterator it = it_begin +
i;
164 double y_water =
mWaterLevel - (it->Coordinates()[direction]);
173 it->FastGetSolutionStepValue(var) = added_mass;
175 if (added_mass > 0.0)
177 it->FastGetSolutionStepValue(var) = added_mass;
181 it->FastGetSolutionStepValue(var) = 0.0;
190 std::string
Info()
const override
192 return "DamAddedMassConditionProcess";
198 rOStream <<
"DamAddedMassConditionProcess";
235 rOStream << std::endl;
Definition: dam_added_mass_condition_process.hpp:31
double mSpecific
Definition: dam_added_mass_condition_process.hpp:215
KRATOS_CLASS_POINTER_DEFINITION(DamAddedMassConditionProcess)
void ExecuteInitialize() override
This function is designed for being called at the beginning of the computations right after reading t...
Definition: dam_added_mass_condition_process.hpp:87
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: dam_added_mass_condition_process.hpp:196
ModelPart & mrModelPart
Member Variables.
Definition: dam_added_mass_condition_process.hpp:211
std::string Info() const override
Turn back information as a string.
Definition: dam_added_mass_condition_process.hpp:190
virtual ~DamAddedMassConditionProcess()
Destructor.
Definition: dam_added_mass_condition_process.hpp:83
DamAddedMassConditionProcess(ModelPart &rModelPart, Parameters &rParameters)
Constructor.
Definition: dam_added_mass_condition_process.hpp:41
std::string mVariableName
Definition: dam_added_mass_condition_process.hpp:212
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: dam_added_mass_condition_process.hpp:202
double mWaterLevel
Definition: dam_added_mass_condition_process.hpp:216
Table< double, double > TableType
Definition: dam_added_mass_condition_process.hpp:36
std::string mGravityDirection
Definition: dam_added_mass_condition_process.hpp:213
double mReferenceCoordinate
Definition: dam_added_mass_condition_process.hpp:214
void ExecuteInitializeSolutionStep() override
This function will be executed at every time step BEFORE performing the solve phase.
Definition: dam_added_mass_condition_process.hpp:139
KratosComponents class encapsulates a lookup table for a family of classes in a generic way.
Definition: kratos_components.h:49
NodesContainerType & Nodes()
Definition: mesh.h:346
NodeIterator NodesBegin()
Definition: mesh.h:326
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
MeshType & GetMesh(IndexType ThisIndex=0)
Definition: model_part.h:1791
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
double GetDouble() const
This method returns the double contained in the current Parameter.
Definition: kratos_parameters.cpp:657
void ValidateAndAssignDefaults(const Parameters &rDefaultParameters)
This function is designed to verify that the parameters under testing match the form prescribed by th...
Definition: kratos_parameters.cpp:1306
std::string GetString() const
This method returns the string contained in the current Parameter.
Definition: kratos_parameters.cpp:684
size_type size() const
Returns the number of elements in the container.
Definition: pointer_vector_set.h:502
The base class for all processes in Kratos.
Definition: process.h:49
#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
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
int nnodes
Definition: sensitivityMatrix.py:24
integer i
Definition: TensorModule.f:17