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.
analytic_rigid_body_element.h
Go to the documentation of this file.
1 // $Author: Guillermo Casas $
2 
3 #if !defined(KRATOS_ANALYTIC_RIGID_BODY_ELEMENT_H_INCLUDED)
4 #define KRATOS_ANALYTIC_RIGID_BODY_ELEMENT_H_INCLUDED
5 
6 // System includes
7 #include <string>
8 #include <iostream>
9 #include <cmath>
10 
11 // External includes
12 
13 // Project includes
14 #include "rigid_body_element.h"
15 
16 namespace Kratos {
17 
18  class KRATOS_API(DEM_APPLICATION) AnalyticRigidBodyElement : public RigidBodyElement3D {
19 
20  public:
23 
25  AnalyticRigidBodyElement(IndexType NewId, GeometryType::Pointer pGeometry);
27  AnalyticRigidBodyElement(IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties);
28 
29  //Element::Pointer Create(IndexType NewId, NodesArrayType const& ThisNodes, PropertiesType::Pointer pProperties) const override;
30 
33 
34  using Element::Initialize;
35 
36  virtual std::string Info() const override
37  {
38  std::stringstream buffer;
39  buffer << "AnalyticRigidBodyElement #" << Id();
40  return buffer.str();
41  }
42 
44  virtual void PrintInfo(std::ostream& rOStream) const override
45  {
46  rOStream << "AnalyticRigidBodyElement #" << Id();
47  }
48 
50  virtual void PrintData(std::ostream& rOStream) const override
51  {
52  //mpGeometry->PrintData(rOStream);
53  }
54 
55  private:
56 
57  friend class Serializer;
58 
59  virtual void save(Serializer& rSerializer) const override
60  {
62  }
63 
64  virtual void load(Serializer& rSerializer) override
65  {
67  }
68 
69  }; // Class AnalyticRigidBodyElement
70 
72  inline std::istream& operator >> (std::istream& rIStream, AnalyticRigidBodyElement& rThis);
73 
75  inline std::ostream& operator << (std::ostream& rOStream, const AnalyticRigidBodyElement& rThis)
76  {
77  rThis.PrintInfo(rOStream);
78  rOStream << std::endl;
79  rThis.PrintData(rOStream);
80 
81  return rOStream;
82  }
83 
84 } // namespace Kratos
85 
86 #endif // KRATOS_ANALYTIC_RIGID_BODY_ELEMENT_H_INCLUDED defined
Definition: analytic_rigid_body_element.h:18
AnalyticRigidBodyElement(IndexType NewId, NodesArrayType const &ThisNodes)
virtual void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: analytic_rigid_body_element.h:50
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(AnalyticRigidBodyElement)
Pointer definition of AnalyticRigidBodyElement.
AnalyticRigidBodyElement(IndexType NewId, GeometryType::Pointer pGeometry)
AnalyticRigidBodyElement(IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties)
virtual std::string Info() const override
Turn back information as a string.
Definition: analytic_rigid_body_element.h:36
virtual ~AnalyticRigidBodyElement()
Destructor.
virtual void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: analytic_rigid_body_element.h:44
virtual void Initialize(const ProcessInfo &rCurrentProcessInfo)
Definition: element.h:341
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
Definition: rigid_body_element.h:31
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
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
def load(f)
Definition: ode_solve.py:307