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.
automatic_differentiation_tangent_utilities.h
Go to the documentation of this file.
1 // KRATOS ___ _ _ _ _ _ __ _
2 // / __\___ _ __ ___| |_(_) |_ _ _| |_(_)_ _____ / / __ ___ _____ /_\ _ __ _ __
3 // / / / _ \| '_ \/ __| __| | __| | | | __| \ \ / / _ \/ / / _` \ \ /\ / / __| //_\\| '_ \| '_ |
4 // / /__| (_) | | | \__ \ |_| | |_| |_| | |_| |\ V / __/ /__| (_| |\ V V /\__ \/ _ \ |_) | |_) |
5 // \____/\___/|_| |_|___/\__|_|\__|\__,_|\__|_| \_/ \___\____/\__,_| \_/\_/ |___/\_/ \_/ .__/| .__/
6 // |_| |_|
7 //
8 // License: BSD License
9 // license: structural_mechanics_application/license.txt
10 //
11 // Main authors: Alejandro Cornejo
12 //
13 //
14 
15 #pragma once
16 
17 // System includes
18 
19 // External includes
20 
21 // Project includes
23 
24 
25 namespace Kratos
26 {
29 
33 
37 
41 
45 
55 template <class TYieldSurfaceType, SizeType TSofteningType>
56 class KRATOS_API(CONSTITUTIVE_LAWS_APPLICATION) AutomaticDifferentiationTangentUtilities
57 {
58  public:
61  typedef std::size_t SizeType;
62 
63  typedef TYieldSurfaceType YieldSurfaceType;
64 
66  static constexpr SizeType Dimension = YieldSurfaceType::Dimension;
67 
69  static constexpr SizeType VoigtSize = YieldSurfaceType::VoigtSize;
70 
72  typedef Matrix MatrixType;
73 
75  typedef Vector VectorType;
76 
79 
82 
85 
87  typedef Node NodeType;
88 
91 
92 
96 
100 
104 
112 
113 };
114 }
Definition: automatic_differentiation_tangent_utilities.h:57
BoundedMatrix< double, VoigtSize, VoigtSize > BoundedMatrixVoigtType
The definition of the bounded matrix type.
Definition: automatic_differentiation_tangent_utilities.h:84
Matrix MatrixType
The matrix type definition.
Definition: automatic_differentiation_tangent_utilities.h:72
Geometry< NodeType > GeometryType
Geometry definitions.
Definition: automatic_differentiation_tangent_utilities.h:90
TYieldSurfaceType YieldSurfaceType
Definition: automatic_differentiation_tangent_utilities.h:63
std::size_t SizeType
Definition: automatic_differentiation_tangent_utilities.h:61
Node NodeType
Node type definition.
Definition: automatic_differentiation_tangent_utilities.h:87
BoundedMatrix< double, Dimension, Dimension > BoundedMatrixType
The definition of the bounded matrix type.
Definition: automatic_differentiation_tangent_utilities.h:81
static void CalculateTangentTensorIsotropicDamage(ConstitutiveLaw::Parameters rValues)
This method computes the second invariant from a given stress vector.
Vector VectorType
the vector type definition
Definition: automatic_differentiation_tangent_utilities.h:75
array_1d< double, VoigtSize > BoundedVectorType
The definition of the bounded vector type.
Definition: automatic_differentiation_tangent_utilities.h:78
Geometry base class.
Definition: geometry.h:71
This class defines the node.
Definition: node.h:65
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
Definition: constitutive_law.h:189