2 #if !defined(DEM_KDEM_CL_H_INCLUDED)
3 #define DEM_KDEM_CL_H_INCLUDED
21 void TransferParametersToProperties(
const Parameters&
parameters, Properties::Pointer pProp)
override;
22 void Check(Properties::Pointer pProp)
const override;
26 DEMContinuumConstitutiveLaw::Pointer Clone()
const override;
28 virtual void CalculateContactArea(
double radius,
double other_radius,
double& calculation_area)
override;
29 virtual double CalculateContactArea(
double radius,
double other_radius,
Vector&
v)
override;
30 void GetContactArea(
const double radius,
const double other_radius,
const Vector& vector_of_initial_areas,
const int neighbour_position,
double& calculation_area)
override;
31 void CalculateElasticConstants(
double& kn_el,
double& kt_el,
double initial_dist,
double equiv_young,
34 void CalculateViscoDampingCoeff(
double &equiv_visco_damp_coeff_normal,
35 double &equiv_visco_damp_coeff_tangential,
39 const double kt_el)
override;
41 double LocalMaxSearchDistance(
const int i,
45 void CalculateForces(
const ProcessInfo& r_process_info,
46 double OldLocalElasticContactForce[3],
47 double LocalElasticContactForce[3],
48 double LocalElasticExtraContactForce[3],
49 double LocalCoordSystem[3][3],
50 double LocalDeltDisp[3],
53 double& contact_sigma,
55 double& failure_criterion_state,
59 double calculation_area,
60 double& acumulated_damage,
63 int i_neighbour_count,
66 double &equiv_visco_damp_coeff_normal,
67 double &equiv_visco_damp_coeff_tangential,
68 double LocalRelVel[3],
69 double ViscoDampingLocalContactForce[3])
override;
71 void CalculateNormalForces(
double LocalElasticContactForce[3],
75 double calculation_area,
76 double& acumulated_damage,
79 int i_neighbour_count,
83 double GetContactSigmaMax();
85 virtual double GetYoungModulusForComputingRotationalMoments(
const double& equiv_young);
87 void CalculateTangentialForces(
double OldLocalElasticContactForce[3],
88 double LocalElasticContactForce[3],
89 double LocalElasticExtraContactForce[3],
90 double ViscoDampingLocalContactForce[3],
91 double LocalCoordSystem[3][3],
92 double LocalDeltDisp[3],
93 double LocalRelVel[3],
95 const double equiv_shear,
96 double& contact_sigma,
99 double calculation_area,
100 double& failure_criterion_state,
103 int i_neighbour_count,
107 void AddContributionOfShearStrainParallelToBond(
double OldLocalElasticContactForce[3],
108 double LocalElasticExtraContactForce[3],
110 double LocalCoordSystem[3][3],
112 const double calculation_area,
116 void CalculateViscoDamping(
double LocalRelVel[3],
117 double ViscoDampingLocalContactForce[3],
119 double equiv_visco_damp_coeff_normal,
120 double equiv_visco_damp_coeff_tangential,
122 int failure_id)
override;
128 double calculation_area,
129 double LocalCoordSystem[3][3],
130 double ElasticLocalRotationalMoment[3],
131 double ViscoLocalRotationalMoment[3],
132 double equiv_poisson,
134 double LocalElasticContactForce[3],
135 double normalLocalContactForce,
136 double GlobalElasticContactForces[3],
137 double LocalCoordSystem_2[3],
138 const int i_neighbor_count)
override;
144 double calculation_area,
145 double LocalCoordSystem[3][3],
146 double ElasticLocalRotationalMoment[3],
147 double ViscoLocalRotationalMoment[3],
148 double equiv_poisson,
150 double LocalElasticContactForce[3])
override;
152 void AddPoissonContribution(
const double equiv_poisson,
153 double LocalCoordSystem[3][3],
154 double& normal_force,
168 virtual void save(
Serializer& rSerializer)
const override{
Definition: DEM_KDEM_CL.h:11
~DEM_KDEM()
Definition: DEM_KDEM_CL.h:24
DEM_KDEM()
Definition: DEM_KDEM_CL.h:19
KRATOS_CLASS_POINTER_DEFINITION(DEM_KDEM)
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
v
Definition: generate_convection_diffusion_explicit_element.py:114
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