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.
SolidFace.h
Go to the documentation of this file.
1 //
2 // Author: Miquel Santasusana msantasusana@cimne.upc.edu
3 //
4 
5 #if !defined(KRATOS_SOLIDFACE3D_H_INCLUDED )
6 #define KRATOS_SOLIDFACE3D_H_INCLUDED
7 
8 // External includes
9 
10 // Project includes
11 #include "includes/define.h"
12 #include "includes/element.h"
13 #include "includes/serializer.h"
14 #include "includes/condition.h"
15 //#include "includes/variables.h"
16 #include "dem_wall.h"
17 
18 namespace Kratos
19 {
20 
21 class KRATOS_API(DEM_APPLICATION) SolidFace3D : public DEMWall
22 {
23 public:
24 
25  // Counted pointer of SolidFace3D
27 
28 
32 
35 
36 
37  // Constructor void
38  SolidFace3D();
39 
40  // Constructor using an array of nodes
41  SolidFace3D( IndexType NewId, GeometryType::Pointer pGeometry );
42 
43  // Constructor using an array of nodes with properties
44  SolidFace3D( IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties );
45 
46  // Destructor
47  virtual ~SolidFace3D();
48 
49  Condition::Pointer Create(IndexType NewId, NodesArrayType const& ThisNodes, PropertiesType::Pointer pProperties ) const override;
50 
51  void Initialize(const ProcessInfo& rCurrentProcessInfo) override;
52  void CalculateRightHandSide(VectorType& rRightHandSideVector, const ProcessInfo& r_process_info ) override;
53  void CalculateNormal(array_1d<double, 3>& rnormal) override;
54  void FinalizeSolutionStep(const ProcessInfo& r_process_info) override;
55  void GetDeltaDisplacement( array_1d<double, 3> & delta_displacement, int inode) override;
56 
57 protected:
58 
59 private:
60 
61  friend class Serializer;
62 
63  virtual void save( Serializer& rSerializer ) const override
64  {
66  }
67 
68  virtual void load( Serializer& rSerializer ) override
69  {
71  }
72 
73 }; // class SolidFace3D.
74 
75 } // namespace Kratos.
76 
77 #endif // KRATOS_SOLIDFACE3D_H_INCLUDED defined
Definition: dem_wall.h:29
std::size_t IndexType
Definition: flags.h:74
boost::indirect_iterator< typename TContainerType::iterator > iterator
Definition: global_pointers_vector.h:79
typename TContainerType::iterator ptr_iterator
Definition: global_pointers_vector.h:85
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
Definition: SolidFace.h:22
ParticleWeakVectorType::ptr_iterator ParticleWeakIteratorType_ptr
Definition: SolidFace.h:30
GlobalPointersVector< Condition > ConditionWeakVectorType
Definition: SolidFace.h:33
GlobalPointersVector< Element > ParticleWeakVectorType
Definition: SolidFace.h:29
GlobalPointersVector< Condition >::iterator ConditionWeakIteratorType
Definition: SolidFace.h:34
GlobalPointersVector< Element >::iterator ParticleWeakIteratorType
Definition: SolidFace.h:31
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(SolidFace3D)
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
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