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.
impose_z_strain_process.h
Go to the documentation of this file.
1 // KRATOS ___| | | |
2 // \___ \ __| __| | | __| __| | | __| _` | |
3 // | | | | | ( | | | | ( | |
4 // _____/ \__|_| \__,_|\___|\__|\__,_|_| \__,_|_| MECHANICS
5 //
6 // License: BSD License
7 // license: StructuralMechanicsApplication/license.txt
8 //
9 // Main authors: Ignasi de Pouplana
10 //
11 
12 #pragma once
13 
14 #include "processes/process.h"
15 #include "includes/model_part.h"
16 
18 
19 namespace Kratos
20 {
21 
29 class KRATOS_API(STRUCTURAL_MECHANICS_APPLICATION) ImposeZStrainProcess
30  : public Process
31 {
32 
33 public:
34 
36 
38 
41  ModelPart& rThisModelPart,
42  Parameters ThisParameters = Parameters(R"({})")
43  );
44 
46 
48  ~ImposeZStrainProcess() override = default;
49 
51 
52  void operator()()
53  {
54  Execute();
55  }
56 
58  void Execute() override;
59 
61  void ExecuteInitializeSolutionStep() override;
62 
66  const Parameters GetDefaultParameters() const override;
67 
69  std::string Info() const override
70  {
71  return "ImposeZStrainProcess";
72  }
73 
75  void PrintInfo(std::ostream& rOStream) const override
76  {
77  rOStream << "ImposeZStrainProcess";
78  }
79 
81  void PrintData(std::ostream& rOStream) const override
82  {
83  }
84 
86 
87 protected:
88 
90 
93 
95 
96 private:
97 
100 
102  //ImposeZStrainProcess(ImposeZStrainProcess const& rOther);
103 
104 }; // Class ImposeZStrainProcess
105 
107 inline std::istream& operator >> (std::istream& rIStream,
108  ImposeZStrainProcess& rThis);
109 
111 inline std::ostream& operator << (std::ostream& rOStream,
112  const ImposeZStrainProcess& rThis)
113 {
114  rThis.PrintInfo(rOStream);
115  rOStream << std::endl;
116  rThis.PrintData(rOStream);
117 
118  return rOStream;
119 }
120 
121 } // namespace Kratos.
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
This class assigns the same Z-Strain value to the member variables of all 2.5D solid elements.
Definition: impose_z_strain_process.h:31
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: impose_z_strain_process.h:81
~ImposeZStrainProcess() override=default
Destructor.
KRATOS_CLASS_POINTER_DEFINITION(ImposeZStrainProcess)
ModelPart & mrThisModelPart
Member Variables.
Definition: impose_z_strain_process.h:91
std::string Info() const override
Turn back information as a string.
Definition: impose_z_strain_process.h:69
void operator()()
Definition: impose_z_strain_process.h:52
Parameters mThisParameters
Definition: impose_z_strain_process.h:92
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: impose_z_strain_process.h:75
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
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