9 #if !defined(KRATOS_DEVIATORIC_SHAPE_UTILITIES)
10 #define KRATOS_DEVIATORIC_SHAPE_UTILITIES
11 #define PI 3.1415926535898
27 #include "boost/smart_ptr.hpp"
54 if ( fabs( rLodeAngle) < rSmoothingAngle)
56 rEffect = std::cos ( rLodeAngle) - 1.0/sqrt(3.0) * std::sin( rLodeAngle) * std::sin( rFrictionAngle) ;
61 ComputeSmoothingConstants( rLodeAngle, rSmoothingAngle, rFrictionAngle,
A,
B,
C);
62 double sin = std::sin( 3.0 * rLodeAngle);
64 rEffect =
A +
B * sin +
C * sin * sin;
72 CalculateThirdInvariantShapeAddim( rLodeAngle, rFriction, rSmoothingAngle, rEffect);
73 rEffect /= sqrt(3.0) /6.0 * (3.0 - std::sin( rFriction) );
84 double tan = std::tan(rSmoothingAngle);
85 double tan3 = std::tan(3.0rSmoothingAngle);
86 double sin = std::sin(rSmoothingAngle);
87 double sin6 = std::sin(6.0rSmoothingAngle);
88 double cos = std::cos(rSmoothingAngle);
89 double cos3 = std::cos(3.0*rSmoothingAngle);
90 double cos6 = std::cos(6.0*rSmoothingAngle);
92 double denom = 18.0 * pow(cos3, 3.0);
96 B1 = cos * sin6 - 6.0 * cos6 * sin;
97 B2 = - ( sin * sin6 + 6 * cos6 * cos);
100 B2 /= denom * sqrt(3.0);
102 B = B1 *
sign + B2 * std::sin( rFrictionAngle);
104 double C1 = - cos3*cos - 3.0*sin3 * sin;
105 double C2 = cos3 * sin - 3.0*sin3 * cos;
108 C2 /= denom * sqrt(3.0);
109 C = C1 + C2 *
sign * std::sin(rFrictionAngle);
113 A1 = cos - B1*sin3 - C1 *sin3 * sin3;
114 A2 = -1.0/sqrt(3.0) * sin - B2 * sin3 + C2 * sin3 * sin3;
116 A = A1 + A2 *
sign *
std::( rFrictionAngle);
Definition: deviatoric_plane_shape.hpp:39
Matrix MatrixType
Definition: deviatoric_plane_shape.hpp:43
void CalculateThirdInvariantShape(const double &rLodeAngle, const double &rFriction, const double &rSmoothingAngle, double &rEffect)
Definition: deviatoric_plane_shape.hpp:51
unsigned int IndexType
Definition: deviatoric_plane_shape.hpp:47
Vector VectorType
Definition: deviatoric_plane_shape.hpp:45
ComputeSmoothingConstants(rLodeAngle, rSmoothingAngle, rFrictionAngle, A, B, C)
Definition: deviatoric_plane_shape.hpp:78
unsigned int SizeType
Definition: deviatoric_plane_shape.hpp:49
void CalculateThirdInvariantShapeAddim(const double &rLodeAngle, const double &rFriction, const double &rSmoothingAngle, double &rEffect)
Definition: deviatoric_plane_shape.hpp:70
static int sign(const double a)
Definition: GeometryFunctions.h:61
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
int C
Definition: generate_hyper_elastic_simo_taylor_neo_hookean.py:27
A
Definition: sensitivityMatrix.py:70
B
Definition: sensitivityMatrix.py:76
namespace
Definition: array_1d.h:793