KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
Classes | Namespaces | Macros | Functions
DEM_application_variables.h File Reference
#include "includes/define.h"
#include "includes/variables.h"
#include "includes/dem_variables.h"
#include "includes/condition.h"
#include "utilities/quaternion.h"
#include "custom_utilities/cluster_information.h"
#include "custom_strategies/schemes/dem_integration_scheme.h"
#include "custom_utilities/properties_proxies.h"
Include dependency graph for DEM_application_variables.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Kratos::DEMFlags
 

Namespaces

 Kratos
 REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
 

Macros

#define DEM_COPY_SECOND_TO_FIRST_3(a, b)   a[0] = b[0]; a[1] = b[1]; a[2] = b[2];
 
#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];
 
#define DEM_ADD_SECOND_TO_FIRST(a, b)   a[0] += b[0]; a[1] += b[1]; a[2] += b[2];
 
#define DEM_SET_COMPONENTS_TO_ZERO_3(a)   a[0] = 0.0; a[1] = 0.0; a[2] = 0.0;
 
#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;
 
#define DEM_MULTIPLY_BY_SCALAR_3(a, b)   a[0] *= (b); a[1] *= (b); a[2] *= (b);
 
#define DEM_MODULUS_3(a)   std::sqrt(a[0] * a[0] + a[1] * a[1] + a[2] * a[2])
 
#define DEM_MODULUS_2(a)   std::sqrt(a[0] * a[0] + a[1] * a[1])
 
#define DEM_INNER_PRODUCT_3(a, b)   (a[0] * b[0] + a[1] * b[1] + a[2] * b[2])
 
#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];
 
#define DEM_COPY_SECOND_TO_FIRST_3x3(a, b)
 
#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]))
 

Functions

 Kratos::KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS (DEM_APPLICATION, TABLE_NUMBER_VELOCITY) KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(DEM_APPLICATION
 
TABLE_NUMBER_ANGULAR_VELOCITY Kratos::KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS (DEM_APPLICATION, TABLE_NUMBER_FORCE) KRATOS_DEFINE_3D_APPLICATION_VARIABLE_WITH_COMPONENTS(DEM_APPLICATION
 
TABLE_NUMBER_ANGULAR_VELOCITY TABLE_NUMBER_MOMENT Kratos::KRATOS_DEFINE_APPLICATION_VARIABLE (DEM_APPLICATION, double, I22) KRATOS_DEFINE_APPLICATION_VARIABLE(DEM_APPLICATION
 
TABLE_NUMBER_ANGULAR_VELOCITY TABLE_NUMBER_MOMENT I33 Kratos::KRATOS_DEFINE_APPLICATION_VARIABLE (DEM_APPLICATION, double, BEAM_INERTIA_ROT_UNIT_LENGHT_X) KRATOS_DEFINE_APPLICATION_VARIABLE(DEM_APPLICATION
 
TABLE_NUMBER_ANGULAR_VELOCITY TABLE_NUMBER_MOMENT I33 BEAM_INERTIA_ROT_UNIT_LENGHT_Y KRATOS_DEFINE_APPLICATION_VARIABLE(DEM_APPLICATION, double, BEAM_INERTIA_ROT_UNIT_LENGHT_Z) typedef std Kratos::KRATOS_DEFINE_APPLICATION_VARIABLE (DEM_APPLICATION, double, FRICTION) KRATOS_DEFINE_APPLICATION_VARIABLE(DEM_APPLICATION
 

Variables

Functions
TABLE_NUMBER_ANGULAR_VELOCITY TABLE_NUMBER_MOMENT I33 BEAM_INERTIA_ROT_UNIT_LENGHT_Y KRATOS_DEFINE_APPLICATION_VARIABLE(DEM_APPLICATION, double, BEAM_INERTIA_ROT_UNIT_LENGHT_Z) typedef std Kratos::double
 

Macro Definition Documentation

◆ DEM_ADD_SECOND_TO_FIRST

#define DEM_ADD_SECOND_TO_FIRST (   a,
 
)    a[0] += b[0]; a[1] += b[1]; a[2] += b[2];

◆ DEM_COPY_SECOND_TO_FIRST_3

#define DEM_COPY_SECOND_TO_FIRST_3 (   a,
 
)    a[0] = b[0]; a[1] = b[1]; a[2] = b[2];

◆ DEM_COPY_SECOND_TO_FIRST_3x3

#define DEM_COPY_SECOND_TO_FIRST_3x3 (   a,
 
)
Value:
a[0][0] = b[0][0]; a[0][1] = b[0][1]; a[0][2] = b[0][2]; \
a[1][0] = b[1][0]; a[1][1] = b[1][1]; a[1][2] = b[1][2]; \
a[2][0] = b[2][0]; a[2][1] = b[2][1]; a[2][2] = b[2][2];
a
Definition: generate_stokes_twofluid_element.py:77
b
Definition: generate_total_lagrangian_mixed_volumetric_strain_element.py:31

◆ DEM_COPY_SECOND_TO_FIRST_4

#define DEM_COPY_SECOND_TO_FIRST_4 (   a,
 
)    a[0] = b[0]; a[1] = b[1]; a[2] = b[2]; a[3] = b[3];

◆ DEM_DETERMINANT_3x3

#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]))

◆ DEM_INNER_PRODUCT_3

#define DEM_INNER_PRODUCT_3 (   a,
 
)    (a[0] * b[0] + a[1] * b[1] + a[2] * b[2])

◆ DEM_MODULUS_2

#define DEM_MODULUS_2 (   a)    std::sqrt(a[0] * a[0] + a[1] * a[1])

◆ DEM_MODULUS_3

#define DEM_MODULUS_3 (   a)    std::sqrt(a[0] * a[0] + a[1] * a[1] + a[2] * a[2])

◆ DEM_MULTIPLY_BY_SCALAR_3

#define DEM_MULTIPLY_BY_SCALAR_3 (   a,
 
)    a[0] *= (b); a[1] *= (b); a[2] *= (b);

◆ DEM_SET_COMPONENTS_TO_ZERO_3

#define DEM_SET_COMPONENTS_TO_ZERO_3 (   a)    a[0] = 0.0; a[1] = 0.0; a[2] = 0.0;

◆ DEM_SET_COMPONENTS_TO_ZERO_3x3

#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;

◆ DEM_SET_TO_CROSS_OF_FIRST_TWO_3

#define DEM_SET_TO_CROSS_OF_FIRST_TWO_3 (   a,
  b,
 
)    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];