2 #if !defined(DEM_DEMPACK_CL_H_INCLUDED)
3 #define DEM_DEMPACK_CL_H_INCLUDED
33 void TransferParametersToProperties(
const Parameters&
parameters, Properties::Pointer pProp)
override;
35 DEMContinuumConstitutiveLaw::Pointer Clone()
const override;
37 void Check(Properties::Pointer pProp)
const override;
39 virtual void CalculateContactArea(
double radius,
41 double &calculation_area)
override;
43 virtual void GetContactArea(
const double radius,
44 const double other_radius,
45 const Vector& vector_of_initial_areas,
46 const int neighbour_position,
47 double& calculation_area)
override;
49 virtual void CalculateElasticConstants(
double &kn_el,
54 double calculation_area,
58 virtual void CalculateViscoDampingCoeff(
double &equiv_visco_damp_coeff_normal,
59 double &equiv_visco_damp_coeff_tangential,
63 const double kt_el)
override;
65 virtual double LocalMaxSearchDistance(
const int i,
69 virtual void CalculateForces(
const ProcessInfo& r_process_info,
70 double OldLocalElasticContactForce[3],
71 double LocalElasticContactForce[3],
72 double LocalElasticExtraContactForce[3],
73 double LocalCoordSystem[3][3],
74 double LocalDeltDisp[3],
77 double& contact_sigma,
79 double& failure_criterion_state,
83 double calculation_area,
84 double& acumulated_damage,
87 int i_neighbour_count,
90 double &equiv_visco_damp_coeff_normal,
91 double &equiv_visco_damp_coeff_tangential,
92 double LocalRelVel[3],
93 double ViscoDampingLocalContactForce[3])
override;
95 virtual void CalculateNormalForces(
double LocalElasticContactForce[3],
99 double calculation_area,
100 double& acumulated_damage,
103 int i_neighbour_count,
108 virtual void CalculateTangentialForces(
double OldLocalElasticContactForce[3],
109 double LocalElasticContactForce[3],
110 double LocalElasticExtraContactForce[3],
111 double ViscoDampingLocalContactForce[3],
112 double LocalCoordSystem[3][3],
113 double LocalDeltDisp[3],
114 double LocalRelVel[3],
116 const double equiv_shear,
117 double& contact_sigma,
120 double calculation_area,
121 double& failure_criterion_state,
124 int i_neighbour_count,
132 double calculation_area,
133 double LocalCoordSystem[3][3],
134 double ElasticLocalRotationalMoment[3],
135 double ViscoLocalRotationalMoment[3],
136 double equiv_poisson,
138 double LocalElasticContactForce[3],
139 double normalLocalContactForce,
140 double GlobalElasticContactForces[3],
141 double LocalCoordSystem_2[3],
142 const int i_neighbor_count)
override;
148 double calculation_area,
149 double LocalCoordSystem[3][3],
150 double ElasticLocalRotationalMoment[3],
151 double ViscoLocalRotationalMoment[3],
152 double equiv_poisson,
154 double LocalElasticContactForce[3])
override;
160 virtual void save(
Serializer& rSerializer)
const override{
Definition: DEM_Dempack_CL.h:11
~DEM_Dempack()
Definition: DEM_Dempack_CL.h:20
double mHistoryMaxInd
Definition: DEM_Dempack_CL.h:24
double mHistoryDegradation
Definition: DEM_Dempack_CL.h:27
double mHistoryDisp
Definition: DEM_Dempack_CL.h:28
DEM_Dempack()
Definition: DEM_Dempack_CL.h:19
double mHistoryMaxForce
Definition: DEM_Dempack_CL.h:25
KRATOS_CLASS_POINTER_DEFINITION(DEM_Dempack)
double mHistoryShearFlag
Definition: DEM_Dempack_CL.h:29
double mHistoryDamage
Definition: DEM_Dempack_CL.h:26
Definition: DEM_continuum_constitutive_law.h:23
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
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_continuum_particle.h:26
#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
parameters
Definition: fluid_chimera_analysis.py:35
float radius
Definition: mesh_to_mdpa_converter.py:18
def load(f)
Definition: ode_solve.py:307
integer i
Definition: TensorModule.f:17
Definition: mesh_converter.cpp:33