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_load_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) PointLoadCondition
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  ~PointLoadCondition() 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  bool HasRotDof() const override {return false;};
127 
131 
132 
136 
137 
141 
143  std::string Info() const override
144  {
145  std::stringstream buffer;
146  buffer << "Point load Condition #" << Id();
147  return buffer.str();
148  }
149 
151 
152  void PrintInfo(std::ostream& rOStream) const override
153  {
154  rOStream << "Point load Condition #" << Id();
155  }
156 
158  void PrintData(std::ostream& rOStream) const override
159  {
160  pGetGeometry()->PrintData(rOStream);
161  }
162 
166 
167 
169 
170 protected:
173 
174 
178 
179 
183 
184 
188 
197  void CalculateAll(
198  MatrixType& rLeftHandSideMatrix,
199  VectorType& rRightHandSideVector,
200  const ProcessInfo& rCurrentProcessInfo,
201  const bool CalculateStiffnessMatrixFlag,
202  const bool CalculateResidualVectorFlag
203  ) override;
204 
208  virtual double GetPointLoadIntegrationWeight() const;
209 
213 
214 
218 
219 
223 
224  // A protected default constructor necessary for serialization
226 
228 
229 private:
232 
233 
237 
238 
239 
243 
247 
248 
252 
253 
257 
261 
262  friend class Serializer;
263 
264  void save( Serializer& rSerializer ) const override
265  {
267  }
268 
269  void load( Serializer& rSerializer ) override
270  {
271  KRATOS_SERIALIZE_LOAD_BASE_CLASS( rSerializer, BaseLoadCondition );
272  }
273 
277 
279  //PointLoadCondition& operator=(const PointLoadCondition& rOther);
280 
282  //PointLoadCondition(const PointLoadCondition& rOther);
283 
284 
286 
287 }; // Class PointLoadCondition
288 
292 
293 
297 
298 
300 /* inline std::istream& operator >> (std::istream& rIStream,
301  PointLoadCondition& rThis);
302 */
304 /* inline std::ostream& operator << (std::ostream& rOStream,
305  const PointLoadCondition& rThis)
306  {
307  rThis.PrintInfo(rOStream);
308  rOStream << std::endl;
309  rThis.PrintData(rOStream);
310 
311  return rOStream;
312  }*/
314 
315 } // namespace Kratos.
316 
317 
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
Point Load Condition for 3D and 2D geometries. (base class)
Definition: point_load_condition.hpp:42
std::string Info() const override
Turn back information as a string.
Definition: point_load_condition.h:143
Condition::Pointer Clone(IndexType NewId, NodesArrayType const &ThisNodes) const override
Creates a new condition pointer and clones the previous condition data.
~PointLoadCondition() override
Destructor.
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: point_load_condition.h:152
PointLoadCondition()
Definition: point_load_condition.h:225
PointLoadCondition(IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties)
bool HasRotDof() const override
Definition: point_load_condition.h:126
Condition::Pointer Create(IndexType NewId, NodesArrayType const &ThisNodes, PropertiesType::Pointer pProperties) const override
Creates a new condition pointer.
PointLoadCondition(IndexType NewId, GeometryType::Pointer pGeometry)
Default constructor.
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: point_load_condition.h:158
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(PointLoadCondition)
Counted pointer of PointLoadCondition.
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