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.
point_contact_condition.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 // System includes
13 #pragma once
14 
15 // System includes
16 
17 // External includes
18 
19 // Project includes
21 
22 namespace Kratos
23 {
24 
27 
31 
35 
39 
43 
45 
48 class KRATOS_API(STRUCTURAL_MECHANICS_APPLICATION) PointContactCondition
49  : public BaseLoadCondition
50 {
51 public:
54 
57 
61 
64  IndexType NewId,
65  GeometryType::Pointer pGeometry
66  );
67 
69  IndexType NewId,
70  GeometryType::Pointer pGeometry,
71  PropertiesType::Pointer pProperties
72  );
73 
75  ~PointContactCondition() override;
76 
80 
81 
85 
93  Condition::Pointer Create(
94  IndexType NewId,
95  NodesArrayType const& ThisNodes,
96  PropertiesType::Pointer pProperties
97  ) const override;
98 
106  Condition::Pointer Create(
107  IndexType NewId,
108  GeometryType::Pointer pGeom,
109  PropertiesType::Pointer pProperties
110  ) const override;
111 
118  Condition::Pointer Clone (
119  IndexType NewId,
120  NodesArrayType const& ThisNodes
121  ) const override;
122 
126 
127 
131 
132 
136 
138  std::string Info() const override
139  {
140  std::stringstream buffer;
141  buffer << "PointContactCondition #" << Id();
142  return buffer.str();
143  }
144 
146 
147  void PrintInfo(std::ostream& rOStream) const override
148  {
149  rOStream << "PointContactCondition #" << Id();
150  }
151 
153  void PrintData(std::ostream& rOStream) const override
154  {
155  pGetGeometry()->PrintData(rOStream);
156  }
157 
161 
162 
164 
165 protected:
168 
169 
173 
174 
178 
179 
183 
192  void CalculateAll(
193  MatrixType& rLeftHandSideMatrix,
194  VectorType& rRightHandSideVector,
195  const ProcessInfo& rCurrentProcessInfo,
196  const bool CalculateStiffnessMatrixFlag,
197  const bool CalculateResidualVectorFlag
198  ) override;
199 
203  virtual double GetPointLoadIntegrationWeight() const;
204 
208 
209 
213 
214 
218 
219  // A protected default constructor necessary for serialization
221 
223 
224 private:
227 
228 
232 
233 
237 
241 
242 
246 
247 
251 
255 
256  friend class Serializer;
257 
258  void save( Serializer& rSerializer ) const override
259  {
261  }
262 
263  void load( Serializer& rSerializer ) override
264  {
266  }
267 
271 
273  //PointContactCondition& operator=(const PointContactCondition& rOther);
274 
276  //PointContactCondition(const PointContactCondition& rOther);
277 
278 
280 
281 }; // Class PointContactCondition
282 
286 
287 
291 
292 
294 /* inline std::istream& operator >> (std::istream& rIStream,
295  PointContactCondition& rThis);
296 */
298 /* inline std::ostream& operator << (std::ostream& rOStream,
299  const PointContactCondition& rThis)
300  {
301  rThis.PrintInfo(rOStream);
302  rOStream << std::endl;
303  rThis.PrintData(rOStream);
304 
305  return rOStream;
306  }*/
308 
309 } // namespace Kratos.
310 
311 
This is the base class of all the load conditions on StructuralMechanicsApplication.
Definition: base_load_condition.h:54
std::size_t IndexType
Definition: flags.h:74
Short class definition.
Definition: point_contact_condition.h:50
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(PointContactCondition)
Counted pointer of PointContactCondition.
PointContactCondition()
Definition: point_contact_condition.h:220
std::string Info() const override
Turn back information as a string.
Definition: point_contact_condition.h:138
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: point_contact_condition.h:153
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: point_contact_condition.h:147
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
#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