8 #ifndef KRATOS_DEM_APPLICATION_VARIABLES_H
9 #define KRATOS_DEM_APPLICATION_VARIABLES_H
23 #define DEM_COPY_SECOND_TO_FIRST_3(a, b) a[0] = b[0]; a[1] = b[1]; a[2] = b[2];
24 #define DEM_COPY_SECOND_TO_FIRST_4(a, b) a[0] = b[0]; a[1] = b[1]; a[2] = b[2]; a[3] = b[3];
25 #define DEM_ADD_SECOND_TO_FIRST(a, b) a[0] += b[0]; a[1] += b[1]; a[2] += b[2];
26 #define DEM_SET_COMPONENTS_TO_ZERO_3(a) a[0] = 0.0; a[1] = 0.0; a[2] = 0.0;
27 #define DEM_SET_COMPONENTS_TO_ZERO_3x3(a) a[0][0] = 0.0; a[0][1] = 0.0; a[0][2] = 0.0; a[1][0] = 0.0; a[1][1] = 0.0; a[1][2] = 0.0; a[2][0] = 0.0; a[2][1] = 0.0; a[2][2] = 0.0;
28 #define DEM_MULTIPLY_BY_SCALAR_3(a, b) a[0] *= (b); a[1] *= (b); a[2] *= (b);
29 #define DEM_MODULUS_3(a) std::sqrt(a[0] * a[0] + a[1] * a[1] + a[2] * a[2])
30 #define DEM_MODULUS_2(a) std::sqrt(a[0] * a[0] + a[1] * a[1])
31 #define DEM_INNER_PRODUCT_3(a, b) (a[0] * b[0] + a[1] * b[1] + a[2] * b[2])
32 #define DEM_SET_TO_CROSS_OF_FIRST_TWO_3(a, b, c) c[0] = a[1] * b[2] - a[2] * b[1]; c[1] = a[2] * b[0] - a[0] * b[2]; c[2] = a[0] * b[1] - a[1] * b[0];
33 #define DEM_COPY_SECOND_TO_FIRST_3x3(a, b) a[0][0] = b[0][0]; a[0][1] = b[0][1]; a[0][2] = b[0][2]; \
34 a[1][0] = b[1][0]; a[1][1] = b[1][1]; a[1][2] = b[1][2]; \
35 a[2][0] = b[2][0]; a[2][1] = b[2][1]; a[2][2] = b[2][2];
37 #define DEM_DETERMINANT_3x3(a0, a1, a2) (a0[0] * (a1[1] * a2[2] - a1[2] * a2[1]) - a0[1] * (a1[0] * a2[2] - a1[2] * a2[0]) + a0[2] * (a1[0] * a2[1] - a1[1] * a2[0]))
149 typedef
std::vector<
array_1d<
double, 3> > std_vector_of_arrays_3d;
Base class for all Conditions.
Definition: condition.h:59
Definition: DEM_application_variables.h:463
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, HAS_STRESS_TENSOR)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, BELONGS_TO_A_CLUSTER)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, COPIED_STRESS_TENSOR)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, FIXED_VEL_Z)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, FIXED_ANG_VEL_Z)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, HAS_CRITICAL_TIME)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, STICKY)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, HAS_ROTATION)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, IS_SAND_PRODUCTION)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, PRINT_STRESS_TENSOR)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, POLYHEDRON_SKIN)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, FIXED_ANG_VEL_Y)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, FIXED_ANG_VEL_X)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, HAS_ROLLING_FRICTION)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, FIXED_VEL_X)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, CUMULATIVE_ZONE)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, COPIED_STRESS_TENSOR2)
KRATOS_DEFINE_LOCAL_APPLICATION_FLAG(DEM_APPLICATION, FIXED_VEL_Y)
Base class for all Elements.
Definition: element.h:60
Definition: properties_proxies.h:18
Quaternion A simple class that implements the main features of quaternion algebra.
Definition: quaternion.h:28
Short class definition.
Definition: array_1d.h:61
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
KRATOS_DEFINE_APPLICATION_VARIABLE(CHIMERA_APPLICATION, double, CHIMERA_DISTANCE)
PARTICLE_COHESION I33 BEAM_INERTIA_ROT_UNIT_LENGHT_Y KRATOS_CREATE_VARIABLE(double, BEAM_INERTIA_ROT_UNIT_LENGHT_Z) typedef std K_ALPHA NEIGHBOUR_PARTICLE_OF_RIGID_FACE HAS_ROTATION
Definition: DEM_application.cpp:482
KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(CHIMERA_APPLICATION, ROTATION_MESH_DISPLACEMENT)
KRATOS_DEFINE_VARIABLE(Vector, BIOT_STRAIN_VECTOR)
namespace
Definition: array_1d.h:793