14 #if !defined(KRATOS_DAM_UPLIFT_CIRCULAR_CONDITION_LOAD_PROCESS)
15 #define KRATOS_DAM_UPLIFT_CIRCULAR_CONDITION_LOAD_PROCESS
50 "model_part_name":"PLEASE_CHOOSE_MODEL_PART_NAME",
51 "variable_name": "PLEASE_PRESCRIBE_VARIABLE_NAME",
53 "joint_group_name" : "PLEASE_CHOOSE_JOINT_GROUP_NAME",
54 "Gravity_Direction" : "Y",
55 "Reservoir_Bottom_Coordinate_in_Gravity_Direction" : 0.0,
56 "Upstream_Coordinate_first_bracket" : [0.0,0.0,0.0],
57 "Downstream_Coordinate_first_bracket" : [0.0,0.0,0.0],
58 "Focus" : [0.0,0.0,0.0],
64 "Effectiveness" : 0.0,
169 double width_dam = up_radius - down_radius;
180 #pragma omp parallel for
183 ModelPart::NodesContainerType::iterator it = it_begin +
i;
185 auxiliar_vector.
resize(3,
false);
190 double current_radius = sqrt(auxiliar_vector[radius_comp_1] * auxiliar_vector[radius_comp_1] + auxiliar_vector[radius_comp_2] * auxiliar_vector[radius_comp_2]);
203 it->FastGetSolutionStepValue(var) = 0.0;
213 #pragma omp parallel for
216 ModelPart::NodesContainerType::iterator it = it_begin +
i;
218 auxiliar_vector.
resize(3,
false);
223 double current_radius = sqrt(auxiliar_vector[radius_comp_1] * auxiliar_vector[radius_comp_1] + auxiliar_vector[radius_comp_2] * auxiliar_vector[radius_comp_2]);
229 it->FastGetSolutionStepValue(var) = 0.0;
292 double width_dam = up_radius - down_radius;
303 #pragma omp parallel for
306 ModelPart::NodesContainerType::iterator it = it_begin +
i;
308 auxiliar_vector.
resize(3,
false);
313 double current_radius = sqrt(auxiliar_vector[radius_comp_1] * auxiliar_vector[radius_comp_1] + auxiliar_vector[radius_comp_2] * auxiliar_vector[radius_comp_2]);
326 it->FastGetSolutionStepValue(var) = 0.0;
336 #pragma omp parallel for
339 ModelPart::NodesContainerType::iterator it = it_begin +
i;
341 auxiliar_vector.
resize(3,
false);
346 double current_radius = sqrt(auxiliar_vector[radius_comp_1] * auxiliar_vector[radius_comp_1] + auxiliar_vector[radius_comp_2] * auxiliar_vector[radius_comp_2]);
352 it->FastGetSolutionStepValue(var) = 0.0;
366 std::string
Info()
const override
368 return "DamUpliftCircularConditionLoadProcess";
374 rOStream <<
"DamUpliftCircularConditionLoadProcess";
423 rOStream << std::endl;
Definition: dam_uplift_circular_condition_load_process.hpp:31
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: dam_uplift_circular_condition_load_process.hpp:372
double mHeightDrain
Definition: dam_uplift_circular_condition_load_process.hpp:395
double mWaterLevel
Definition: dam_uplift_circular_condition_load_process.hpp:393
double mSpecific
Definition: dam_uplift_circular_condition_load_process.hpp:392
double mDistanceDrain
Definition: dam_uplift_circular_condition_load_process.hpp:396
bool mDrain
Definition: dam_uplift_circular_condition_load_process.hpp:394
double mReferenceCoordinate
Definition: dam_uplift_circular_condition_load_process.hpp:391
void Execute() override
Execute method is used to execute the Process algorithms.
Definition: dam_uplift_circular_condition_load_process.hpp:123
KRATOS_CLASS_POINTER_DEFINITION(DamUpliftCircularConditionLoadProcess)
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: dam_uplift_circular_condition_load_process.hpp:378
TableType::Pointer mpTable
Definition: dam_uplift_circular_condition_load_process.hpp:403
Vector mFocus
Definition: dam_uplift_circular_condition_load_process.hpp:401
double mEffectivenessDrain
Definition: dam_uplift_circular_condition_load_process.hpp:397
std::string mVariableName
Definition: dam_uplift_circular_condition_load_process.hpp:389
Vector mUpstream
Definition: dam_uplift_circular_condition_load_process.hpp:399
std::string Info() const override
Turn back information as a string.
Definition: dam_uplift_circular_condition_load_process.hpp:366
virtual ~DamUpliftCircularConditionLoadProcess()
Destructor.
Definition: dam_uplift_circular_condition_load_process.hpp:120
DamUpliftCircularConditionLoadProcess(ModelPart &rModelPart, ModelPart &rJointModelPart, Parameters &rParameters)
Constructor.
Definition: dam_uplift_circular_condition_load_process.hpp:41
Vector mDownstream
Definition: dam_uplift_circular_condition_load_process.hpp:400
std::string mGravityDirection
Definition: dam_uplift_circular_condition_load_process.hpp:390
double mUpliftPressure
Definition: dam_uplift_circular_condition_load_process.hpp:398
double mTimeUnitConverter
Definition: dam_uplift_circular_condition_load_process.hpp:402
ModelPart & mrJointModelPart
Definition: dam_uplift_circular_condition_load_process.hpp:388
Table< double, double > TableType
Definition: dam_uplift_circular_condition_load_process.hpp:36
void ExecuteInitialize() override
This function is designed for being called at the beginning of the computations right after reading t...
Definition: dam_uplift_circular_condition_load_process.hpp:129
int mTableId
Definition: dam_uplift_circular_condition_load_process.hpp:404
void ExecuteInitializeSolutionStep() override
This function will be executed at every time step BEFORE performing the solve phase.
Definition: dam_uplift_circular_condition_load_process.hpp:244
ModelPart & mrModelPart
Member Variables.
Definition: dam_uplift_circular_condition_load_process.hpp:387
void resize(std::size_t NewSize1, std::size_t NewSize2, bool preserve=0)
Definition: amatrix_interface.h:224
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
ProcessInfo & GetProcessInfo()
Definition: model_part.h:1746
TableType::Pointer pGetTable(IndexType TableId)
Definition: model_part.h:595
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
int GetInt() const
This method returns the integer contained in the current Parameter.
Definition: kratos_parameters.cpp:666
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
bool GetBool() const
This method returns the boolean contained in the current Parameter.
Definition: kratos_parameters.cpp:675
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
BOOST_UBLAS_INLINE void resize(size_type array_size, bool preserve=true)
Definition: array_1d.h:242
#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
TExpressionType::data_type norm_2(AMatrix::MatrixExpression< TExpressionType, TCategory > const &TheExpression)
Definition: amatrix_interface.h:625
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
T & noalias(T &TheMatrix)
Definition: amatrix_interface.h:484
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
time
Definition: face_heat.py:85
int nnodes
Definition: sensitivityMatrix.py:24
integer i
Definition: TensorModule.f:17