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.
DEM_rolling_friction_model_bounded.h
Go to the documentation of this file.
1 // Kratos Multi-Physics - DEM Application
2 //
3 // License: BSD License
4 // Kratos default license: kratos/license.txt
5 //
6 // Main authors: Chengshun Shang (cshang@cimne.upc.edu)
7 // Joaquin Irazabal (jirazabal@cimne.upc.edu)
8 //
9 
10 #if !defined(DEM_ROLLING_FRICTION_MODEL_BOUNDED_H_INCLUDED)
11 #define DEM_ROLLING_FRICTION_MODEL_BOUNDED_H_INCLUDED
12 
13 /* Project includes */
14 #include "../custom_elements/spheric_particle.h"
16 #include "includes/kratos_flags.h"
17 
18 
19 namespace Kratos{
20 
21  class KRATOS_API(DEM_APPLICATION) DEMRollingFrictionModelBounded : public DEMRollingFrictionModel{
22  public:
23 
25 
27 
28  double mRollingResistance = 0.0;
29 
30  void Check(Properties::Pointer pProp) const override;
31 
32  bool CheckIfThisModelRequiresRecloningForEachNeighbour() override;
33 
35 
36  DEMRollingFrictionModel::Pointer Clone() const override;
37 
38  std::unique_ptr<DEMRollingFrictionModel> CloneUnique() override;
39 
40  void InitializeSolutionStep() override;
41 
42  void ComputeRollingResistance(SphericParticle* p_element, SphericParticle* p_neighbor, double LocalContactForce[3]) override;
43 
44  void ComputeRollingResistanceWithWall(SphericParticle* p_element, Condition* const wall, double LocalContactForce[3]) override;
45 
46  void DoFinalOperations(SphericParticle* p_element, double dt, array_1d<double, 3>& mContactMoment) override;
47 
48  private:
49 
50  friend class Serializer;
51 
52  void save(Serializer& rSerializer) const override {
53  //rSerializer.save("MyMemberName",myMember);
54  }
55 
56  void load(Serializer& rSerializer) override {
57  //rSerializer.load("MyMemberName",myMember);
58  }
59 
60  };
61 
62 
63 } /* namespace Kratos.*/
64 
65 #endif /*DEM_ROLLING_FRICTION_MODEL_BOUNDED_H_INCLUDED defined*/
Base class for all Conditions.
Definition: condition.h:59
Definition: DEM_rolling_friction_model_bounded.h:21
DEMRollingFrictionModelBounded()
Definition: DEM_rolling_friction_model_bounded.h:26
~DEMRollingFrictionModelBounded()
Definition: DEM_rolling_friction_model_bounded.h:34
KRATOS_CLASS_POINTER_DEFINITION(DEMRollingFrictionModelBounded)
Definition: DEM_rolling_friction_model.h:32
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
Definition: spheric_particle.h:31
dt
Definition: DEM_benchmarks.py:173
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
def load(f)
Definition: ode_solve.py:307