2 #if !defined(DEM_DISCONTINUUM_CONSTITUTIVE_LAW_H_INCLUDED)
3 #define DEM_DISCONTINUUM_CONSTITUTIVE_LAW_H_INCLUDED
7 #include "custom_utilities/AuxiliaryFunctions.h"
20 class SphericParticle;
34 virtual void SetConstitutiveLawInProperties(Properties::Pointer pProp,
bool verbose =
true);
36 virtual void Check(Properties::Pointer pProp)
const;
40 virtual DEMDiscontinuumConstitutiveLaw::Pointer Clone()
const;
42 virtual std::unique_ptr<DEMDiscontinuumConstitutiveLaw> CloneUnique();
44 virtual std::string GetTypeOfLaw();
50 virtual void CalculateForces(
const ProcessInfo& r_process_info,
51 const double OldLocalContactForce[3],
52 double LocalElasticContactForce[3],
53 double LocalDeltDisp[3],
54 double LocalRelVel[3],
56 double previous_indentation,
57 double ViscoDampingLocalContactForce[3],
58 double& cohesive_force,
62 double LocalCoordSystem[3][3]);
64 virtual void CalculateForcesWithFEM(
const ProcessInfo& r_process_info,
65 const double OldLocalContactForce[3],
66 double LocalElasticContactForce[3],
67 double LocalDeltDisp[3],
68 double LocalRelVel[3],
70 double previous_indentation,
71 double ViscoDampingLocalContactForce[3],
72 double& cohesive_force,
77 virtual double CalculateNormalForce(
const double indentation);
78 virtual double CalculateNormalForce(
SphericParticle*
const element1,
SphericParticle*
const element2,
const double indentation,
double LocalCoordSystem[3][3]);
88 virtual void save(
Serializer& rSerializer)
const override {
Base class for all Conditions.
Definition: condition.h:59
Definition: DEM_discontinuum_constitutive_law.h:22
double mKt
Definition: DEM_discontinuum_constitutive_law.h:26
KRATOS_CLASS_POINTER_DEFINITION(DEMDiscontinuumConstitutiveLaw)
double mKn
Definition: DEM_discontinuum_constitutive_law.h:25
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: spheric_particle.h:31
#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
KRATOS_DEFINE_APPLICATION_VARIABLE(CHIMERA_APPLICATION, double, CHIMERA_DISTANCE)
def load(f)
Definition: ode_solve.py:307
Definition: mesh_converter.cpp:33