Example of a material implementation for stress analysis with 3D elements. More...
#include "b2fortran_element_property.H"
#include "b2material_util.H"
#include "elements/properties/b2solid_mechanics.H"
Classes | |
class | b2000::b2dbv3::ElementPropertyStressExample3D |
This is the ElementProperty class that is used by 3D elements. More... | |
class | b2000::b2dbv3::ElementPropertyStressExample25D |
This is the ElementProperty class that is used by shell elements. More... | |
class | b2000::b2dbv3::ElementPropertyStressExample |
Namespaces | |
namespace | b2000 |
Contains the base classes for implementing Finite Elements. | |
Example of a material implementation for stress analysis with 3D elements.
The conventions for strain, stress and constitutive tensors follow the notation that is used in the book "Finite Element Procedures" by K.J. Bathe.
The components of the Green-Lagrange strain tensor are arranged as
[e11, e22, e33, 2e12, 2e23, 2e13]
The components of the second Piola-Kirchhoff stress tensor are arranged as
[s11, s22, s33, s12, s23, s13]
The constitutive matrix is symmetric and lower-packed, it is a vector with 21 elements that fit into the matrix as follows
The following code parts are needed:
For the classes under point 2 and 3 it is necessary to provide the so-called unique final overriders for the functions in FortranElementProperty and SolidMechanics.
The elements use the C++ namespace b2000. Thus, the SolidMechanics classes are defined in that namespace. The parts of B2000++ that are associated/connected with the database use the C++ namespace b2000::b2dbv3. This means that all the classes in this file are defined in this namespace.