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.
rigid_body_point_link_segregated_V_condition.hpp
Go to the documentation of this file.
1 //
2 // Project Name: KratosContactMechanicsApplication $
3 // Created by: $Author: JMCarbonell $
4 // Last modified by: $Co-Author: $
5 // Date: $Date: September 2018 $
6 // Revision: $Revision: 0.0 $
7 //
8 //
9 
10 #if !defined(KRATOS_RIGID_BODY_POINT_LINK_SEGREGATED_V_CONDITION_H_INCLUDED )
11 #define KRATOS_RIGID_BODY_POINT_LINK_SEGREGATED_V_CONDITION_H_INCLUDED
12 
13 // System includes
14 
15 // External includes
16 
17 // Project includes
19 
20 namespace Kratos
21 {
36 
38 
43 class KRATOS_API(CONTACT_MECHANICS_APPLICATION) RigidBodyPointLinkSegregatedVCondition
45 {
46  public:
47 
49 
50  typedef Vector VectorType;
52  typedef Node::Pointer PointPointerType;
56 
58 
59  // Counted pointer of RigidBodyPointLinkSegregatedVCondition
61 
62  enum StepType{VELOCITY_STEP = 0, PRESSURE_STEP = 1};
63 
67 
69  RigidBodyPointLinkSegregatedVCondition( IndexType NewId, GeometryType::Pointer pGeometry );
70 
71  RigidBodyPointLinkSegregatedVCondition( IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties );
72 
75 
78 
82 
83 
87 
95  Condition::Pointer Create(IndexType NewId,
96  NodesArrayType const& ThisNodes,
97  PropertiesType::Pointer pProperties ) const override;
105  Condition::Pointer Clone(IndexType NewId,
106  NodesArrayType const& ThisNodes) const override;
107 
108  //************* STARTING - ENDING METHODS
109 
115  void Initialize(const ProcessInfo& rCurrentProcessInfo) override;
116 
120  void InitializeSolutionStep(const ProcessInfo& rCurrentProcessInfo) override;
121 
122 
123  //************* GETTING METHODS
124 
128  void GetDofList(DofsVectorType& rConditionDofList,
129  const ProcessInfo& rCurrentProcessInfo ) const override;
130 
134  void EquationIdVector(EquationIdVectorType& rResult,
135  const ProcessInfo& rCurrentProcessInfo ) const override;
136 
140  void GetValuesVector(Vector& rValues,
141  int Step = 0 ) const override;
142 
146  void GetFirstDerivativesVector(Vector& rValues,
147  int Step = 0 ) const override;
148 
152  void GetSecondDerivativesVector(Vector& rValues,
153  int Step = 0 ) const override;
154 
155 
156  //************* COMPUTING METHODS
157 
166  void CalculateLocalSystem(MatrixType& rLeftHandSideMatrix,
167  VectorType& rRightHandSideVector,
168  const ProcessInfo& rCurrentProcessInfo) override;
169 
176  void CalculateRightHandSide(VectorType& rRightHandSideVector,
177  const ProcessInfo& rCurrentProcessInfo) override;
178 
186  void CalculateSecondDerivativesContributions(MatrixType& rLeftHandSideMatrix,
187  VectorType& rRightHandSideVector,
188  const ProcessInfo& rCurrentProcessInfo) override;
189 
196  void CalculateSecondDerivativesLHS(MatrixType& rLeftHandSideMatrix,
197  const ProcessInfo& rCurrentProcessInfo) override;
198 
199 
206  void CalculateSecondDerivativesRHS(VectorType& rRightHandSideVector,
207  const ProcessInfo& rCurrentProcessInfo) override;
208 
209 
217  virtual int Check(const ProcessInfo& rCurrentProcessInfo) const override;
218 
219 
233 
234  protected:
240 
242 
246 
250 
254  void SetProcessInformation(const ProcessInfo& rCurrentProcessInfo);
255 
256 
260  SizeType GetDofsSize() override;
261 
265 
267 
271 
275 
277 
278  private:
281 
285 
289 
293 
297 
301 
305 
306  friend class Serializer;
307 
308  void save( Serializer& rSerializer ) const override
309  {
311  }
312 
313  void load( Serializer& rSerializer ) override
314  {
316  }
317 
318 }; // class RigidBodyPointLinkSegregatedVCondition.
319 
320 } // namespace Kratos.
321 
322 #endif // KRATOS_RIGID_BODY_POINT_LINK_SEGREGATED_V_CONDITION_H_INCLUDED defined
std::size_t SizeType
Definition: condition.h:94
Base class for all Elements.
Definition: element.h:60
std::size_t SizeType
Definition: geometry_data.h:173
std::vector< std::unique_ptr< Dof< double > >> DofsContainerType
The DoF container type definition.
Definition: node.h:92
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
std::size_t IndexType
The definition of the index type.
Definition: key_hash.h:35
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
void InitializeSolutionStep(ConstructionUtility &rThisUtil, std::string ThermalSubModelPartName, std::string MechanicalSubModelPartName, std::string HeatFluxSubModelPartName, std::string HydraulicPressureSubModelPartName, bool thermal_conditions, bool mechanical_conditions, int phase)
Definition: add_custom_utilities_to_python.cpp:45
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
ModelPart::NodesContainerType NodesArrayType
Definition: gid_gauss_point_container.h:42
def load(f)
Definition: ode_solve.py:307