54 #if !defined(PFEM2_EXPLICIT_STRATEGY)
55 #define KRATOS_PFEM2_EXPLICIT_STRATEGY
70 #include "boost/smart_ptr.hpp"
178 inline void CreatePartition(
unsigned int number_of_threads,
const int number_of_rows, vector<unsigned int>& partitions)
180 partitions.resize(number_of_threads+1);
181 int partition_size = number_of_rows / number_of_threads;
183 partitions[number_of_threads] = number_of_rows;
184 for(
unsigned int i = 1;
i<number_of_threads;
i++)
185 partitions[
i] = partitions[
i-1] + partition_size ;
194 ProcessInfo& CurrentProcessInfo = r_model_part.GetProcessInfo();
198 typename ElementsArrayType::iterator it_begin = pElements.ptr_begin() ;
199 typename ElementsArrayType::iterator it_end = pElements.ptr_end();
200 for (ElementsArrayType::iterator it = it_begin; it != it_end; ++it)
202 it->AddExplicitContribution(CurrentProcessInfo);
215 ProcessInfo& CurrentProcessInfo = r_model_part.GetProcessInfo();
217 switch ( CurrentProcessInfo[FRACTIONAL_STEP] )
259 KRATOS_THROW_ERROR(std::logic_error,
"Unexpected value for FRACTIONAL_STEP index: ", CurrentProcessInfo[FRACTIONAL_STEP]);
270 ProcessInfo& CurrentProcessInfo = r_model_part.GetProcessInfo();
272 switch ( CurrentProcessInfo[FRACTIONAL_STEP] )
312 KRATOS_THROW_ERROR(std::logic_error,
"Unexpected value for FRACTIONAL_STEP index: ", CurrentProcessInfo[FRACTIONAL_STEP]);
334 int number_of_threads = omp_get_max_threads();
336 int number_of_threads = 1;
339 vector<unsigned int> node_partition;
342 #pragma omp parallel for
343 for(
int k=0;
k<number_of_threads;
k++)
345 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
346 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
351 i->FastGetSolutionStepValue(NODAL_MASS)=0.0;
368 int number_of_threads = omp_get_max_threads();
370 int number_of_threads = 1;
373 vector<unsigned int> node_partition;
376 #pragma omp parallel for
377 for(
int k=0;
k<number_of_threads;
k++)
379 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
380 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
387 noalias(node_update_variable) =
rhs /(
i->FastGetSolutionStepValue(NODAL_MASS)) ;
406 const int iteration_number = CurrentProcessInfo[NL_ITERATION_NUMBER];
409 int number_of_threads = omp_get_max_threads();
411 int number_of_threads = 1;
414 vector<unsigned int> node_partition;
417 #pragma omp parallel for
418 for(
int k=0;
k<number_of_threads;
k++)
420 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
421 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
426 if (iteration_number == 1)
429 noalias(
i->FastGetSolutionStepValue(ACCELERATION)) =
i->FastGetSolutionStepValue(PRESS_PROJ_NO_RO);
440 i->FastGetSolutionStepValue(NODAL_AREA)=0.0;
441 i->FastGetSolutionStepValue(NODAL_MASS)=0.0;
445 i->FastGetSolutionStepValue(VOLUMETRIC_STRAIN)=0.0;
465 int number_of_threads = omp_get_max_threads();
467 int number_of_threads = 1;
470 vector<unsigned int> node_partition;
473 #pragma omp parallel for
474 for(
int k=0;
k<number_of_threads;
k++)
476 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
477 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
481 i->FastGetSolutionStepValue(NODAL_AREA)=0.0;
482 i->FastGetSolutionStepValue(VOLUMETRIC_STRAIN)=0.0;
500 int number_of_threads = omp_get_max_threads();
502 int number_of_threads = 1;
505 vector<unsigned int> node_partition;
508 #pragma omp parallel for
509 for(
int k=0;
k<number_of_threads;
k++)
511 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
512 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
516 i->FastGetSolutionStepValue(NODAL_AREA)=0.0;
517 i->FastGetSolutionStepValue(PRESSURE)=0.0;
532 int number_of_threads = omp_get_max_threads();
534 int number_of_threads = 1;
537 vector<unsigned int> node_partition;
540 #pragma omp parallel for
541 for(
int k=0;
k<number_of_threads;
k++)
543 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
544 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
551 double& mass = (
i->FastGetSolutionStepValue(NODAL_MASS));
552 double& area = (
i->FastGetSolutionStepValue(NODAL_AREA));
553 press_proj_no_ro /= mass;
554 press_proj_stabilization /= area;
565 i->FastGetSolutionStepValue(PREVIOUS_ITERATION_PRESSURE)=
i->FastGetSolutionStepValue(PRESSURE);
586 int number_of_threads = omp_get_max_threads();
588 int number_of_threads = 1;
591 vector<unsigned int> node_partition;
594 #pragma omp parallel for
595 for(
int k=0;
k<number_of_threads;
k++)
597 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
598 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
605 i->FastGetSolutionStepValue(NODAL_AREA)=0.0;
622 int number_of_threads = omp_get_max_threads();
624 int number_of_threads = 1;
627 vector<unsigned int> node_partition;
630 #pragma omp parallel for
631 for(
int k=0;
k<number_of_threads;
k++)
633 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
634 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
643 double& area = (
i->FastGetSolutionStepValue(NODAL_AREA));
648 press_proj_stabilization /= area;
668 int number_of_threads = omp_get_max_threads();
670 int number_of_threads = 1;
673 vector<unsigned int> node_partition;
676 #pragma omp parallel for
677 for(
int k=0;
k<number_of_threads;
k++)
679 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
680 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
684 double& area = (
i->FastGetSolutionStepValue(NODAL_AREA));
685 (
i->FastGetSolutionStepValue(VOLUMETRIC_STRAIN))=
i->FastGetSolutionStepValue(VOLUMETRIC_STRAIN)/area;
700 int number_of_threads = omp_get_max_threads();
702 int number_of_threads = 1;
705 vector<unsigned int> node_partition;
708 #pragma omp parallel for
709 for(
int k=0;
k<number_of_threads;
k++)
711 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
712 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
716 double& area = (
i->FastGetSolutionStepValue(NODAL_AREA));
717 (
i->FastGetSolutionStepValue(PRESSURE))=
i->FastGetSolutionStepValue(PRESSURE)/area;
740 int number_of_threads = omp_get_max_threads();
742 int number_of_threads = 1;
745 vector<unsigned int> node_partition;
748 #pragma omp parallel for
749 for(
int k=0;
k<number_of_threads;
k++)
751 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
752 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
756 i->FastGetSolutionStepValue(NODAL_AREA)=0.0;
757 i->FastGetSolutionStepValue(NODAL_MASS)=0.0;
772 int number_of_threads = omp_get_max_threads();
774 int number_of_threads = 1;
777 vector<unsigned int> node_partition;
780 #pragma omp parallel for
781 for(
int k=0;
k<number_of_threads;
k++)
783 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
784 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
788 i->FastGetSolutionStepValue(PRESSUREAUX) =
i->FastGetSolutionStepValue(NODAL_AREA)/
i->FastGetSolutionStepValue(NODAL_MASS);
789 i->FastGetSolutionStepValue(EXTERNAL_PRESSURE) =
i->FastGetSolutionStepValue(PRESSUREAUX) +
i->FastGetSolutionStepValue(PRESSURE);
805 int number_of_threads = omp_get_max_threads();
807 int number_of_threads = 1;
810 vector<unsigned int> node_partition;
813 #pragma omp parallel for
814 for(
int k=0;
k<number_of_threads;
k++)
816 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
817 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
821 i->FastGetSolutionStepValue(NODAL_MASS) = 0.0;
822 i->FastGetSolutionStepValue(NODAL_AREA) = 0.0;
926 inline void CreatePartition(
unsigned int number_of_threads,
const int number_of_rows, vector<unsigned int>& partitions)
928 partitions.resize(number_of_threads+1);
929 int partition_size = number_of_rows / number_of_threads;
931 partitions[number_of_threads] = number_of_rows;
932 for(
unsigned int i = 1;
i<number_of_threads;
i++)
933 partitions[
i] = partitions[
i-1] + partition_size ;
942 ProcessInfo& CurrentProcessInfo = r_model_part.GetProcessInfo();
946 typename ElementsArrayType::iterator it_begin = pElements.ptr_begin();
947 typename ElementsArrayType::iterator it_end = pElements.ptr_end();
948 for (ElementsArrayType::iterator it = it_begin; it != it_end; ++it)
950 it->AddExplicitContribution(CurrentProcessInfo);
963 ProcessInfo& CurrentProcessInfo = r_model_part.GetProcessInfo();
965 switch ( CurrentProcessInfo[FRACTIONAL_STEP] )
980 KRATOS_THROW_ERROR(std::logic_error,
"Unexpected value for FRACTIONAL_STEP index: ", CurrentProcessInfo[FRACTIONAL_STEP]);
991 ProcessInfo& CurrentProcessInfo = r_model_part.GetProcessInfo();
993 switch ( CurrentProcessInfo[FRACTIONAL_STEP] )
1008 KRATOS_THROW_ERROR(std::logic_error,
"Unexpected value for FRACTIONAL_STEP index: ", CurrentProcessInfo[FRACTIONAL_STEP]);
1031 int number_of_threads = omp_get_max_threads();
1033 int number_of_threads = 1;
1036 vector<unsigned int> node_partition;
1039 #pragma omp parallel for
1040 for(
int k=0;
k<number_of_threads;
k++)
1042 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
1043 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
1048 i->FastGetSolutionStepValue(NODAL_MASS)=0.0;
1064 int number_of_threads = omp_get_max_threads();
1066 int number_of_threads = 1;
1069 vector<unsigned int> node_partition;
1072 #pragma omp parallel for
1073 for(
int k=0;
k<number_of_threads;
k++)
1075 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
1076 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
1082 noalias(node_update_variable) =
rhs/(
i->FastGetSolutionStepValue(NODAL_MASS)) ;
1083 if (
i->IsFixed(WATER_VELOCITY_X)==
true)
1084 noalias(node_update_variable) = (
i->FastGetSolutionStepValue(WATER_VELOCITY,1));
1100 ProcessInfo& CurrentProcessInfo = r_model_part.GetProcessInfo();
1104 const int iteration_number = CurrentProcessInfo[NL_ITERATION_NUMBER];
1107 int number_of_threads = omp_get_max_threads();
1109 int number_of_threads = 1;
1112 vector<unsigned int> node_partition;
1115 #pragma omp parallel for
1116 for(
int k=0;
k<number_of_threads;
k++)
1118 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
1119 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
1124 if (iteration_number == 1)
1127 noalias(
i->FastGetSolutionStepValue(ACCELERATION)) =
i->FastGetSolutionStepValue(PRESS_PROJ_NO_RO);
1138 i->FastGetSolutionStepValue(NODAL_MASS)=0.0;
1155 int number_of_threads = omp_get_max_threads();
1157 int number_of_threads = 1;
1160 vector<unsigned int> node_partition;
1163 #pragma omp parallel for
1164 for(
int k=0;
k<number_of_threads;
k++)
1166 typename NodesArrayType::iterator i_begin=pNodes.ptr_begin()+node_partition[
k];
1167 typename NodesArrayType::iterator i_end=pNodes.ptr_begin()+node_partition[
k+1];
1174 double& mass = (
i->FastGetSolutionStepValue(NODAL_MASS));
1177 press_proj_no_ro /= mass;
1190 i->FastGetSolutionStepValue(PREVIOUS_ITERATION_PRESSURE)=
i->FastGetSolutionStepValue(WATER_PRESSURE);
1192 if (
i->IsFixed(WATER_VELOCITY_X)==
true)
std::vector< DofType::Pointer > DofsVectorType
Definition: element.h:100
Definition: explicit_strategy.h:844
BaseType::TSystemMatrixType TSystemMatrixType
Definition: explicit_strategy.h:864
ModelPart::ConditionsContainerType ConditionsArrayType
Definition: explicit_strategy.h:876
BaseType::LocalSystemMatrixType LocalSystemMatrixType
Definition: explicit_strategy.h:870
BaseType::TDataType TDataType
Definition: explicit_strategy.h:852
BaseType::TBuilderAndSolverType TBuilderAndSolverType
Definition: explicit_strategy.h:856
BaseType::DofsArrayType DofsArrayType
Definition: explicit_strategy.h:860
BaseType::TSystemVectorType TSystemVectorType
Definition: explicit_strategy.h:866
Fluid_Phase_PFEM2_Explicit_Strategy(ModelPart &model_part, const int dimension, const bool MoveMeshFlag)
Definition: explicit_strategy.h:899
ModelPart::NodesContainerType NodesArrayType
Definition: explicit_strategy.h:872
void AssembleLoop()
Definition: explicit_strategy.h:937
void CreatePartition(unsigned int number_of_threads, const int number_of_rows, vector< unsigned int > &partitions)
Definition: explicit_strategy.h:926
BaseType::TSystemMatrixPointerType TSystemMatrixPointerType
Definition: explicit_strategy.h:882
ModelPart::ElementsContainerType ElementsArrayType
Definition: explicit_strategy.h:874
BaseType::TSchemeType TSchemeType
Definition: explicit_strategy.h:858
TSparseSpace SparseSpaceType
Definition: explicit_strategy.h:854
ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > BaseType
Definition: explicit_strategy.h:850
BaseType::TSystemVectorPointerType TSystemVectorPointerType
Definition: explicit_strategy.h:884
BaseType::LocalSystemVectorType LocalSystemVectorType
Definition: explicit_strategy.h:868
virtual ~Fluid_Phase_PFEM2_Explicit_Strategy()
Definition: explicit_strategy.h:920
void UpdateLoopForViscousIterationsWithNormalization()
Definition: explicit_strategy.h:1055
void UpdateLoopForPressureIterationsWithNormalization()
Definition: explicit_strategy.h:1146
ModelPart::PropertiesType PropertiesType
Definition: explicit_strategy.h:886
KRATOS_CLASS_POINTER_DEFINITION(Fluid_Phase_PFEM2_Explicit_Strategy)
void FinalizeSolutionStep() override
Performs all the required operations that should be done (for each step) after solving the solution s...
Definition: explicit_strategy.h:986
Element::DofsVectorType DofsVectorType
Definition: explicit_strategy.h:862
void SetToZeroVariablesInViscousIterations()
Definition: explicit_strategy.h:1019
void InitializeSolutionStep() override
Performs all the required operations that should be done (for each step) before solving the solution ...
Definition: explicit_strategy.h:958
ModelPart::ConditionsContainerType::ContainerType ConditionsContainerType
Definition: explicit_strategy.h:878
ConditionsContainerType::iterator ConditionsContainerIterator
Definition: explicit_strategy.h:880
void SetToZeroVariablesInPresureIterations()
Definition: explicit_strategy.h:1095
Implicit solving strategy base class This is the base class from which we will derive all the implici...
Definition: implicit_solving_strategy.h:61
Scheme< TSparseSpace, TDenseSpace > TSchemeType
Definition: implicit_solving_strategy.h:82
BaseType::NodesArrayType NodesArrayType
Definition: implicit_solving_strategy.h:92
BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver > TBuilderAndSolverType
Definition: implicit_solving_strategy.h:84
BaseType::ElementsArrayType ElementsArrayType
Definition: implicit_solving_strategy.h:94
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
MeshType::ConditionsContainerType ConditionsContainerType
Condintions container. A vector set of Conditions with their Id's as key.
Definition: model_part.h:183
MeshType::ElementsContainerType ElementsContainerType
Element container. A vector set of Elements with their Id's as key.
Definition: model_part.h:168
MeshType::NodeIterator NodeIterator
Definition: model_part.h:134
MeshType::NodesContainerType NodesContainerType
Nodes container. Which is a vector set of nodes with their Id's as key.
Definition: model_part.h:128
Definition: explicit_strategy.h:96
ModelPart::ConditionsContainerType::ContainerType ConditionsContainerType
Definition: explicit_strategy.h:130
void NormalizePressureProjection(ProcessInfo &CurrentProcessInfo)
Definition: explicit_strategy.h:614
BaseType::DofsArrayType DofsArrayType
Definition: explicit_strategy.h:112
ConditionsContainerType::iterator ConditionsContainerIterator
Definition: explicit_strategy.h:132
ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > BaseType
Definition: explicit_strategy.h:102
BaseType::TSystemMatrixType TSystemMatrixType
Definition: explicit_strategy.h:116
ModelPart::ConditionsContainerType ConditionsArrayType
Definition: explicit_strategy.h:128
void SetToZeroVariablesForPressure(ProcessInfo &CurrentProcessInfo)
Definition: explicit_strategy.h:489
PFEM2_Explicit_Strategy(ModelPart &model_part, const int dimension, const bool MoveMeshFlag)
Definition: explicit_strategy.h:151
BaseType::TSystemVectorPointerType TSystemVectorPointerType
Definition: explicit_strategy.h:136
void UpdateLoopForViscousIterationsWithNormalization(ProcessInfo &CurrentProcessInfo)
Definition: explicit_strategy.h:358
void InitializeSolutionStep() override
Performs all the required operations that should be done (for each step) before solving the solution ...
Definition: explicit_strategy.h:210
void SetToZeroVariablesForVolumetricStrain(ProcessInfo &CurrentProcessInfo)
Definition: explicit_strategy.h:454
ModelPart::ElementsContainerType ElementsArrayType
Definition: explicit_strategy.h:126
ModelPart::NodesContainerType NodesArrayType
Definition: explicit_strategy.h:124
void AssembleLoop()
Definition: explicit_strategy.h:189
virtual ~PFEM2_Explicit_Strategy()
Definition: explicit_strategy.h:172
BaseType::LocalSystemVectorType LocalSystemVectorType
Definition: explicit_strategy.h:120
BaseType::TDataType TDataType
Definition: explicit_strategy.h:104
BaseType::TSystemVectorType TSystemVectorType
Definition: explicit_strategy.h:118
ModelPart::PropertiesType PropertiesType
Definition: explicit_strategy.h:138
void UpdateLoopForVolumetricStrain(ProcessInfo &CurrentProcessInfo)
Definition: explicit_strategy.h:660
void FinalizeSolutionStep() override
Performs all the required operations that should be done (for each step) after solving the solution s...
Definition: explicit_strategy.h:265
void UpdateLoopForPressure(ProcessInfo &CurrentProcessInfo)
Definition: explicit_strategy.h:692
BaseType::TSystemMatrixPointerType TSystemMatrixPointerType
Definition: explicit_strategy.h:134
Element::DofsVectorType DofsVectorType
Definition: explicit_strategy.h:114
void UpdateLoopForPressureViscousCorrection(ProcessInfo &CurrentProcessInfo)
Definition: explicit_strategy.h:764
void SetToZeroVariablesInPresureViscousCorrection(ProcessInfo &CurrentProcessInfo)
Definition: explicit_strategy.h:729
void CreatePartition(unsigned int number_of_threads, const int number_of_rows, vector< unsigned int > &partitions)
Definition: explicit_strategy.h:178
BaseType::LocalSystemMatrixType LocalSystemMatrixType
Definition: explicit_strategy.h:122
void UpdateLoopForMassAndArea(ProcessInfo &CurrentProcessInfo)
Definition: explicit_strategy.h:829
KRATOS_CLASS_POINTER_DEFINITION(PFEM2_Explicit_Strategy)
BaseType::TSchemeType TSchemeType
Definition: explicit_strategy.h:110
void SetToZeroVariablesInPresureProjection(ProcessInfo &CurrentProcessInfo)
Definition: explicit_strategy.h:575
TSparseSpace SparseSpaceType
Definition: explicit_strategy.h:106
void SetToZeroMassAndArea(ProcessInfo &CurrentProcessInfo)
Definition: explicit_strategy.h:797
void SetToZeroVariablesInPresureIterations(ProcessInfo &CurrentProcessInfo)
Definition: explicit_strategy.h:398
BaseType::TBuilderAndSolverType TBuilderAndSolverType
Definition: explicit_strategy.h:108
void SetToZeroVariablesInViscousIterations(ProcessInfo &CurrentProcessInfo)
Definition: explicit_strategy.h:323
void UpdateLoopForPressureIterationsWithNormalization(ProcessInfo &CurrentProcessInfo)
Definition: explicit_strategy.h:524
A sorted associative container similar to an STL set, but uses a vector to store pointers to its data...
Definition: pointer_vector_set.h:72
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
TSparseSpace::VectorPointerType TSystemVectorPointerType
Definition: solving_strategy.h:77
TDenseSpace::MatrixType LocalSystemMatrixType
Definition: solving_strategy.h:79
TSparseSpace::DataType TDataType
Definition: solving_strategy.h:69
ModelPart & GetModelPart()
Operations to get the pointer to the model.
Definition: solving_strategy.h:350
TSparseSpace::MatrixType TSystemMatrixType
Definition: solving_strategy.h:71
TSparseSpace::MatrixPointerType TSystemMatrixPointerType
Definition: solving_strategy.h:75
bool MoveMeshFlag()
This function returns the flag that says if the mesh is moved.
Definition: solving_strategy.h:290
TSparseSpace::VectorType TSystemVectorType
Definition: solving_strategy.h:73
TDenseSpace::VectorType LocalSystemVectorType
Definition: solving_strategy.h:81
#define KRATOS_THROW_ERROR(ExceptionType, ErrorMessage, MoreInfo)
Definition: define.h:77
#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
KratosZeroVector< double > ZeroVector
Definition: amatrix_interface.h:561
T & noalias(T &TheMatrix)
Definition: amatrix_interface.h:484
float velocity
Definition: PecletTest.py:54
model_part
Definition: face_heat.py:14
tuple acceleration
Definition: generate_droplet_dynamics.py:117
rhs
Definition: generate_frictional_mortar_condition.py:297
int dimension
Definition: isotropic_damage_automatic_differentiation.py:123
int k
Definition: quadrature.py:595
integer i
Definition: TensorModule.f:17
Configure::ContainerType ContainerType
Definition: transfer_utility.h:247