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.
compute_initial_volume_process.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ \.
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics FemDem Application
6 //
7 // License: BSD License
8 // Kratos default license:
9 //kratos/license.txt
10 //
11 // Main authors: Alejandro Cornejo Velazquez
12 //
13 
14 #if !defined(KRATOS_COMPUTE_INITIAL_VOLUME_PROCESS)
15 #define KRATOS_COMPUTE_INITIAL_VOLUME_PROCESS
16 
17 #include "processes/process.h"
19 
20 namespace Kratos {
21 
22 typedef std::size_t SizeType;
23 
31 class KRATOS_API(FEM_TO_DEM_APPLICATION) ComputeInitialVolumeProcess : public Process
32 {
33  public:
34 
37 
38  typedef std::size_t IndexType;
39 
40  // Constructor
42 
43  // Destructor
44  ~ComputeInitialVolumeProcess() override = default;
45 
46  void operator()() { Execute(); }
47 
51  void Execute() override;
52 
56  int GetPressureIdSubModel(const std::string &rSubModelName);
57 
61  double ComputeInitialVolumeSubModel(const ModelPart &rSubModel);
62 
66  void AssignInitialVolumeToNodes(const ModelPart &rSubModel, const double InitialVolume);
67 
68 protected:
69 
70  // Member Variables
72  std::size_t mDimension;
73  std::string mPressureName;
74 
75 }; // Class
76 
77 } // namespace Kratos
78 #endif /* KRATOS_COMPUTE_INITIAL_VOLUME_PROCESS defined */
Computes the initial volume of the blast circle and assigns it to the nodes.
Definition: compute_initial_volume_process.h:32
ModelPart & mrModelPart
Definition: compute_initial_volume_process.h:71
std::string mPressureName
Definition: compute_initial_volume_process.h:73
KRATOS_CLASS_POINTER_DEFINITION(ComputeInitialVolumeProcess)
Pointer definition of ApplyMultipointConstraintsProcess.
void operator()()
Definition: compute_initial_volume_process.h:46
std::size_t IndexType
Definition: compute_initial_volume_process.h:38
std::size_t mDimension
Definition: compute_initial_volume_process.h:72
~ComputeInitialVolumeProcess() override=default
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
The base class for all processes in Kratos.
Definition: process.h:49
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::size_t SizeType
The definition of the size type.
Definition: mortar_classes.h:43