7 #if !defined(DEM_SMOOTH_JOINT_CL_H_INCLUDE)
8 #define DEM_SMOOTH_JOINT_CL_H_INCLUDE
27 void TransferParametersToProperties(
const Parameters&
parameters, Properties::Pointer pProp)
override;
28 void Check(Properties::Pointer pProp)
const override;
32 DEMContinuumConstitutiveLaw::Pointer Clone()
const override;
34 std::string GetTypeOfLaw()
override;
36 virtual void CalculateContactArea(
double radius,
double other_radius,
double& calculation_area)
override;
37 virtual double CalculateContactArea(
double radius,
double other_radius,
Vector&
v)
override;
38 void GetContactArea(
const double radius,
const double other_radius,
const Vector& vector_of_initial_areas,
const int neighbour_position,
double& calculation_area)
override;
39 void CalculateElasticConstants(
double& kn_el,
double& kt_el,
double initial_dist,
double equiv_young,
43 double LocalMaxSearchDistance(
const int i,
49 virtual void CheckFailure(
const int i_neighbour_count,
52 double& contact_sigma,
54 double LocalElasticContactForce[3],
55 double ViscoDampingLocalContactForce[3],
56 double ElasticLocalRotationalMoment[3],
57 double ViscoLocalRotationalMoment[3])
override;
59 void CalculateForces(
const ProcessInfo& r_process_info,
60 double OldLocalElasticContactForce[3],
61 double LocalElasticContactForce[3],
62 double LocalElasticExtraContactForce[3],
63 double LocalCoordSystem[3][3],
64 double LocalDeltDisp[3],
67 double& contact_sigma,
69 double& failure_criterion_state,
73 double calculation_area,
74 double& acumulated_damage,
77 int i_neighbour_count,
80 double &equiv_visco_damp_coeff_normal,
81 double &equiv_visco_damp_coeff_tangential,
82 double LocalRelVel[3],
83 double ViscoDampingLocalContactForce[3])
override;
85 void CalculateNormalForces(
double LocalElasticContactForce[3],
89 double calculation_area,
90 double& acumulated_damage,
93 int i_neighbour_count,
96 double& contact_sigma);
98 virtual void CalculateTangentialForces(
double OldLocalElasticContactForce[3],
99 double LocalElasticContactForce[3],
100 double LocalElasticExtraContactForce[3],
101 double ViscoDampingLocalContactForce[3],
102 double LocalCoordSystem[3][3],
103 double LocalDeltDisp[3],
104 double LocalRelVel[3],
106 const double equiv_shear,
109 double calculation_area,
110 double& failure_criterion_state,
113 int i_neighbour_count,
122 double calculation_area,
123 double LocalCoordSystem[3][3],
124 double ElasticLocalRotationalMoment[3],
125 double ViscoLocalRotationalMoment[3],
126 double equiv_poisson,
128 double LocalElasticContactForce[3],
129 double normalLocalContactForce,
130 double GlobalElasticContactForces[3],
131 double LocalCoordSystem_2[3],
132 const int i_neighbor_count)
override;
135 double LocalElasticExtraContactForce[3],
137 double LocalCoordSystem[3][3],
139 const double calculation_area,
144 double mAccumulatedJointTangentialLocalDisplacement[2] = {0.0};
147 double mLocalJointNormal[3] = {0.0};
148 double mInitialDistanceJoint = 0.0;
Definition: DEM_smooth_joint_CL.h:16
void AddContributionOfShearStrainParallelToBond(double OldLocalElasticContactForce[3], double LocalElasticExtraContactForce[3], array_1d< double, 3 > &OldElasticExtraContactForce, double LocalCoordSystem[3][3], const double kt_el, const double calculation_area, SphericContinuumParticle *element1, SphericContinuumParticle *element2)
double mKn
Definition: DEM_smooth_joint_CL.h:145
KRATOS_CLASS_POINTER_DEFINITION(DEM_smooth_joint)
~DEM_smooth_joint()
Definition: DEM_smooth_joint_CL.h:30
DEM_smooth_joint()
Definition: DEM_smooth_joint_CL.h:24
double mKt
Definition: DEM_smooth_joint_CL.h:146
Definition: DEM_continuum_constitutive_law.h:23
virtual void CalculateNormalForces(double LocalElasticContactForce[3], const double kn_el, double equiv_young, double indentation, double calculation_area, double &acumulated_damage, SphericContinuumParticle *element1, SphericContinuumParticle *element2, int i_neighbour_count, int time_steps, const ProcessInfo &r_process_info)
Definition: DEM_continuum_constitutive_law.h:145
virtual void CalculateTangentialForces(double OldLocalElasticContactForce[3], double LocalElasticContactForce[3], double LocalElasticExtraContactForce[3], double ViscoDampingLocalContactForce[3], double LocalCoordSystem[3][3], double LocalDeltDisp[3], double LocalRelVel[3], const double kt_el, const double equiv_shear, double &contact_sigma, double &contact_tau, double indentation, double calculation_area, double &failure_criterion_state, SphericContinuumParticle *element1, SphericContinuumParticle *element2, int i_neighbour_count, bool &sliding, const ProcessInfo &r_process_info)
Definition: DEM_continuum_constitutive_law.h:159
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
Definition: spheric_continuum_particle.h:26
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
integer i
Definition: TensorModule.f:17
Definition: mesh_converter.cpp:33