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.
mapping_condition.h
Go to the documentation of this file.
1 //
2 // Author: Miquel Santasusana msantasusana@cimne.upc.edu
3 //***********************************************************/
4 
5 
6 #if !defined(KRATOS_MAPPING_CONDITION_H_INCLUDED )
7 #define KRATOS_MAPPING_CONDITION_H_INCLUDED
8 
9 
10 
11 // System includes
12 
13 
14 // External includes
15 
16 
17 // Project includes
18 #include "includes/define.h"
19 #include "includes/element.h"
20 #include "includes/serializer.h"
21 #include "includes/condition.h"
22 #include "includes/variables.h"
23 //#include "custom_elements/spheric_particle.h"
24 
25 namespace Kratos
26 {
27 class SphericParticle;
28 class KRATOS_API(DEM_APPLICATION) MAPcond : public Condition
29 {
30 public:
31 
32  // Counted pointer of MAPcond
34 
35 
39 
42 
43 
44  // Constructor void
45  MAPcond();
46 
47  // Constructor using an array of nodes
48  MAPcond( IndexType NewId, GeometryType::Pointer pGeometry );
49 
50  // Constructor using an array of nodes with properties
51  MAPcond( IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties );
52 
53  // Destructor
54  virtual ~MAPcond();
55 
56 
57  // Name Operations
58 
59  virtual Condition::Pointer Create(IndexType NewId, NodesArrayType const& ThisNodes, PropertiesType::Pointer pProperties ) const override;
60 
61  virtual void Initialize(const ProcessInfo& rCurrentProcessInfo) override;
62  virtual void CalculateRightHandSide(VectorType& rRightHandSideVector, const ProcessInfo& r_process_info ) override;
63  virtual void AddExplicitContribution(const VectorType& rRHS, const Variable<VectorType>& rRHSVariable, const Variable<array_1d<double,3> >& rDestinationVariable, const ProcessInfo& r_process_info) override;
64 
65  std::vector<SphericParticle*> mNeighbourSphericParticles;
66 
77 protected:
78 
79 
80 
81 
82 
83 private:
85 
87 
88 
89  // privat name Operations
90 
91 
92 
96 
97  friend class Serializer;
98 
99  virtual void save( Serializer& rSerializer ) const override
100  {
102  }
103 
104  virtual void load( Serializer& rSerializer ) override
105  {
107  }
108 
109 
110 }; // class MAPcond.
111 
112 } // namespace Kratos.
113 
114 #endif // KRATOS_MAPPING_CONDITION_H_INCLUDED defined
115 
Base class for all Conditions.
Definition: condition.h:59
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
Definition: mapping_condition.h:29
GlobalPointersVector< Condition > ConditionWeakVectorType
Definition: mapping_condition.h:40
ParticleWeakVectorType::ptr_iterator ParticleWeakIteratorType_ptr
Definition: mapping_condition.h:37
GlobalPointersVector< Element >::iterator ParticleWeakIteratorType
Definition: mapping_condition.h:38
GlobalPointersVector< Element > ParticleWeakVectorType
Definition: mapping_condition.h:36
std::vector< SphericParticle * > mNeighbourSphericParticles
Definition: mapping_condition.h:65
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(MAPcond)
GlobalPointersVector< Condition >::iterator ConditionWeakIteratorType
Definition: mapping_condition.h:41
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
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
#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