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.
small_displacement_surface_load_condition_3d.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: Vicente Mataix Ferrandiz
10 //
11 
12 #pragma once
13 
14 // System includes
15 
16 // External includes
17 
18 // Project includes
20 
21 namespace Kratos
22 {
23 
26 
30 
34 
38 
42 
50 class KRATOS_API(STRUCTURAL_MECHANICS_APPLICATION) SmallDisplacementSurfaceLoadCondition3D
51  : public SurfaceLoadCondition3D
52 {
53 public:
54 
57 
58  // Counted pointer of SmallDisplacementSurfaceLoadCondition3D
60 
64 
65  // Constructor void
67 
68  // Constructor using an array of nodes
70  IndexType NewId,
71  GeometryType::Pointer pGeometry
72  );
73 
74  // Constructor using an array of nodes with properties
76  IndexType NewId,
77  GeometryType::Pointer pGeometry,
78  PropertiesType::Pointer pProperties
79  );
80 
81  // Destructor
83 
87 
88 
92 
100  Condition::Pointer Create(
101  IndexType NewId,
102  NodesArrayType const& ThisNodes,
103  PropertiesType::Pointer pProperties
104  ) const override;
105 
113  Condition::Pointer Create(
114  IndexType NewId,
115  GeometryType::Pointer pGeom,
116  PropertiesType::Pointer pProperties
117  ) const override;
118 
125  Condition::Pointer Clone (
126  IndexType NewId,
127  NodesArrayType const& ThisNodes
128  ) const override;
129 
133 
134 
138 
139 
143 
145  std::string Info() const override
146  {
147  std::stringstream buffer;
148  buffer << "Small displacement surface load Condition #" << Id();
149  return buffer.str();
150  }
151 
153 
154  void PrintInfo(std::ostream& rOStream) const override
155  {
156  rOStream << "SmallDisplacementSurfaceLoadCondition3D #" << Id();
157  }
158 
160  void PrintData(std::ostream& rOStream) const override
161  {
162  pGetGeometry()->PrintData(rOStream);
163  }
164 
168 
169 protected:
170 
173 
177 
181 
185 
194  void CalculateAll(
195  MatrixType& rLeftHandSideMatrix,
196  VectorType& rRightHandSideVector,
197  const ProcessInfo& rCurrentProcessInfo,
198  const bool CalculateStiffnessMatrixFlag,
199  const bool CalculateResidualVectorFlag
200  ) override;
201 
205 
209 
213 
214 private:
217 
221 
225 
229 
233 
237 
241 
245 
249 
250  friend class Serializer;
251 
252  void save( Serializer& rSerializer ) const override
253  {
255  }
256 
257  void load( Serializer& rSerializer ) override
258  {
260  }
261 
262 
263 }; // class SmallDisplacementSurfaceLoadCondition3D.
264 
267 
271 
272 } // namespace Kratos.
std::size_t IndexType
Definition: flags.h:74
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
This class is the responsible to add the contributions of the RHS and LHS of the surface loads of the...
Definition: small_displacement_surface_load_condition_3d.h:52
std::string Info() const override
Turn back information as a string.
Definition: small_displacement_surface_load_condition_3d.h:145
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(SmallDisplacementSurfaceLoadCondition3D)
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: small_displacement_surface_load_condition_3d.h:154
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: small_displacement_surface_load_condition_3d.h:160
This class is the responsible to add the contributions of the RHS and LHS of the surface loads of the...
Definition: surface_load_condition_3d.h:53
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
Matrix MatrixType
Definition: geometrical_transformation_utilities.h:55
Modeler::Pointer Create(const std::string &ModelerName, Model &rModel, const Parameters ModelParameters)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:30
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307