KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
apply_scalar_constraint_table_process.h
Go to the documentation of this file.
1 // KRATOS___
2 // // ) )
3 // // ___ ___
4 // // ____ //___) ) // ) )
5 // // / / // // / /
6 // ((____/ / ((____ ((___/ / MECHANICS
7 //
8 // License: geo_mechanics_application/license.txt
9 //
10 // Main authors: Anne van de Graaf,
11 // Marjan Fathian
12 //
13 #pragma once
14 
15 #include "processes/process.h"
16 
17 namespace Kratos
18 {
19 
20 class ModelPart;
21 class Parameters;
22 
23 
24 class KRATOS_API(GEO_MECHANICS_APPLICATION) ApplyScalarConstraintTableProcess : public Process
25 {
26 public:
28 
30  const Parameters& rProcessSettings);
31 
33 
36 
37  using ProcessUniquePointer = std::unique_ptr<Process>;
38 
39  void ExecuteInitialize() override;
40  void ExecuteInitializeSolutionStep() override;
41 
42  std::string Info() const override;
43 
44 private:
45  void MakeInternalProcess(const Parameters& rProcessSettings);
46  void MakeProcessForFluidPressureType(const Parameters& rProcessSettings,
47  std::vector<std::string> NamesOfSettingsToCopy);
48  void MakeScalarConstraintProcess(const Parameters& rProcessSettings,
49  std::vector<std::string> NamesOfSettingsToCopy);
50  void MakeProcessForHydrostaticFluidPressure(const Parameters& rProcessSettings,
51  std::vector<std::string> NamesOfSettingsToCopy);
52  void MakeProcessForPhreaticLine(const Parameters& rProcessSettings,
53  std::vector<std::string> NamesOfSettingsToCopy);
54  void MakeProcessForPhreaticMultiLine(const Parameters& rProcessSettings,
55  std::vector<std::string> NamesOfSettingsToCopy);
56  void MakeProcessForPhreaticSurface(const Parameters& rProcessSettings,
57  std::vector<std::string> NamesOfSettingsToCopy);
58  void MakeProcessForInterpolatedLine(const Parameters& rProcessSettings,
59  std::vector<std::string> NamesOfSettingsToCopy);
60 
61  ModelPart& mrModelPart;
62  ProcessUniquePointer mProcess;
63 };
64 
65 }
void ExecuteInitialize() override
Definition: periodic_interface_process.hpp:37
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Definition: apply_scalar_constraint_table_process.h:25
std::unique_ptr< Process > ProcessUniquePointer
Definition: apply_scalar_constraint_table_process.h:37
ApplyScalarConstraintTableProcess(const ApplyScalarConstraintTableProcess &)=delete
ApplyScalarConstraintTableProcess & operator=(const ApplyScalarConstraintTableProcess &)=delete
KRATOS_CLASS_POINTER_DEFINITION(ApplyScalarConstraintTableProcess)
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
The base class for all processes in Kratos.
Definition: process.h:49
Kratos::ModelPart ModelPart
Definition: kratos_wrapper.h:31
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21