b2api
B2000++ API Reference Manual, VERSION 4.6
 
Loading...
Searching...
No Matches
b2000::SolidMechanics3D< T > Class Template Reference

#include "b2solid_mechanics.H"

Inheritance diagram for b2000::SolidMechanics3D< T >:
Collaboration diagram for b2000::SolidMechanics3D< T >:

Public Member Functions

virtual LinearType linear (const int layer_id=-1) const
 
virtual bool isotropic (const int layer_id=-1) const
 
virtual bool path_dependent (const int layer_id=-1) const
 
virtual SolidMechanics3D< T > * copy (int layer_)
 
- Public Member Functions inherited from b2000::ElementProperty
const std::string & get_object_name () const override
 
- Public Member Functions inherited from b2000::Object
virtual ~Object ()
 

Additional Inherited Members

- Static Public Attributes inherited from b2000::Object
static ObjectType type
 

Detailed Description

template<typename T>
class b2000::SolidMechanics3D< T >

The base class for the material API for 3D stress elements.

The strain, stress and constitutive tensor follow the notation used in the book "Finite Element Procedures" by K.J. Bathe:

The strain covariant components are placed in column vector [e11, e22, e33, 2e12, 2e23, 2e13].

The stress contravariant components are placed in column vector [s11, s22, s33, s12, s23, s13].

The constitutive contravariant components are placed in lower packed matrix format

Member Function Documentation

◆ copy()

template<typename T >
virtual SolidMechanics3D< T > * b2000::SolidMechanics3D< T >::copy ( int  layer_)
inlinevirtual

Create a copy of the object to be used in nonlinear analysis of path dependent material.

◆ isotropic()

template<typename T >
virtual bool b2000::SolidMechanics3D< T >::isotropic ( const int  layer_id = -1) const
inlinevirtual
Returns
true if the material is isotropic. In this case, the natural base is not used by the material object and can be omitted (passing a null pointer).

If layer_id is not given, the isotropic propriety is for all the laminate (note that a laminate with more than on layer is not isotropic). Otherwise the isotropic propriety is for the given layer.

Reimplemented in b2000::b2dbv3::ElementPropertyStressExample3D, and b2000::b2dbv3::ElementPropertyStressExample.

◆ linear()

template<typename T >
virtual LinearType b2000::SolidMechanics3D< T >::linear ( const int  layer_id = -1) const
inlinevirtual
Returns
'linear' if the material is linear. In this case, a nonlinear analysis can use the linear methods instead of the nonlinear ones. Return nonlinear if the material is nonlinear. Return linear_on_sub_domain if the material is linear only on a sub domain of the strain value

If layer_id is not given, the linearity propriety is for all the layers. Otherwise the linearity propriety is for the given layer.

Reimplemented in b2000::b2dbv3::ElementPropertyStressExample3D, and b2000::b2dbv3::ElementPropertyStressExample.

◆ path_dependent()

template<typename T >
virtual bool b2000::SolidMechanics3D< T >::path_dependent ( const int  layer_id = -1) const
inlinevirtual
Returns
true if the material is path dependent. In this case and if a nonlinear analysis is performed, the material object must by copied for each integration point. That is for each material points where the nonlinear method get_static_nonlinear_stress or get_dynamic_nonlinear_stress are called during the analysis.

If layer_id is not given, the path-dependent propriety is for all the laminate. Otherwise the path-dependent propriety is for the given layer.

Reimplemented in b2000::b2dbv3::ElementPropertyStressExample.


The documentation for this class was generated from the following file: