b2api
B2000++ API Reference Manual, VERSION 4.6
 
Loading...
Searching...
No Matches
b2000::b2dbv3::ElementPropertyStressExample3D Class Reference

This is the ElementProperty class that is used by 3D elements. More...

Inheritance diagram for b2000::b2dbv3::ElementPropertyStressExample3D:
Collaboration diagram for b2000::b2dbv3::ElementPropertyStressExample3D:

Public Member Functions

void set_model_and_case (b2000::Model &model, b2000::Case &case_) override
 Is called when B2000++ starts.
 
b2000::SolidMechanics::LinearType linear (const int layer_id=-1) const override
 
bool isotropic (const int layer_id=-1) const override
 
int number_of_layer () const override
 To simplify this example, only a single layer is allowed.
 
void laminate (const b2000::b2linalg::Vector< double, b2000::b2linalg::Vdense_constref > nodes_interpolation, double &laminate_begin, double &laminate_end) const override
 "patch-through" from FortranElementProperty
 
void layer (const b2000::b2linalg::Vector< double, b2000::b2linalg::Vdense_constref > nodes_interpolation, const int layer_id, double &layer_begin, double &layer_end) const override
 "patch-through" from FortranElementProperty
 
double get_density (const int layer_id) const override
 "patch-through" from FortranElementProperty
 
void get_stress (b2000::Model *model, const bool linear, const b2000::EquilibriumSolution equilibrium_solution, const double time, const double delta_time, b2000::GradientContainer *gradient_container, b2000::SolverHints *solver_hints, const b2000::Element *element, const double el_coordinates[3], const int layer_id, b2000::b2linalg::Vector< double, b2000::b2linalg::Vdense_constref > nodes_interpolation, const double bg_coordinates[3], const double covariant_base[3][3], const bool use_covariant_base, const double volume, const double displacement_gradient[3][3], const double strain[6], const double strain_dot[6], const double velocity[3], const double acceleration[3], double stress[6], double d_stress_d_strain[21], double d_stress_d_strain_dot[21], double d_stress_d_time[6], double inertia_force[3], double &density) override
 Is called by the elements.
 
- Public Member Functions inherited from b2000::b2dbv3::FortranElementProperty
void init (BranchProperty *branch_property_, MaterialProperty *material_, int integration_order_[3], const std::vector< b2000::csda< double > > &tl_, const std::vector< b2000::csda< double > > &ecc_, int bmtype_, std::bitset< 6 > endreleases_[2], const std::vector< b2000::csda< double > > &mbase_)
 Called by the Domain object.
 
const int * get_integration_order () const override
 
Domainget_domain ()
 
void laminate (b2linalg::Vector< double, b2linalg::Vdense_constref > nodes_interpolation, b2000::csda< double > &laminate_begin, b2000::csda< double > &laminate_end) const
 
void layer (b2linalg::Vector< double, b2linalg::Vdense_constref > nodes_interpolation, const int layer_id, double &layer_begin, double &layer_end) const
 
bool get_material_ref_3d (b2000::Model *model, const Element *element, const double coordinates[3], const int layer_id, const double covariant_base[3][3], double material_ref[3][3])
 
bool get_material_ref_3d (b2000::Model *model, const Element *element, const b2000::csda< double > coordinates[3], const int layer_id, const b2000::csda< double > covariant_base[3][3], b2000::csda< double > material_ref[3][3])
 
bool get_material_ref_25d (b2000::Model *model, const Element *element, const double coordinates[3], const int layer_id, const double covariant_base[3][3], const bool isotropic, double material_ref[3][3])
 
bool get_material_ref_25d (b2000::Model *model, const Element *element, const b2000::csda< double > coordinates[3], const int layer_id, const b2000::csda< double > covariant_base[3][3], const bool isotropic, b2000::csda< double > material_ref[3][3])
 
bool get_material_ref_2d (b2000::Model *model, const Element *element, const double coordinates[3], const int layer_id, const double covariant_base[2][2], double material_ref[2][2])
 
bool get_material_ref_2d (b2000::Model *model, const Element *element, const b2000::csda< double > coordinates[3], const int layer_id, const b2000::csda< double > covariant_base[2][2], b2000::csda< double > material_ref[2][2])
 
const RTableget_material (const int layer_id)
 
bool have_temperature () const
 
bool get_material_temperature (const Element *element, b2linalg::Vector< double, b2linalg::Vdense_constref > nodes_interpolation, const int nb_thickness_interpolation, const double thickness_interpolation[], const double time, double &temp, double &d_temp_d_time) const
 
const std::string & get_object_name () const override
 
- Public Member Functions inherited from b2000::ElementProperty
const std::string & get_object_name () const override
 
- Public Member Functions inherited from b2000::Object
virtual ~Object ()
 
- Public Member Functions inherited from b2000::SolidMechanics3D< double >
virtual bool path_dependent (const int layer_id=-1) const
 
virtual SolidMechanics3D< double > * copy (int layer_)
 

Additional Inherited Members

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

Detailed Description

This is the ElementProperty class that is used by 3D elements.

< API used by the 3D solid elements

Member Function Documentation

◆ isotropic()

bool b2000::b2dbv3::ElementPropertyStressExample3D::isotropic ( const int  layer_id = -1) const
inlineoverridevirtual
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 from b2000::SolidMechanics3D< double >.

◆ linear()

b2000::SolidMechanics::LinearType b2000::b2dbv3::ElementPropertyStressExample3D::linear ( const int  layer_id = -1) const
inlineoverridevirtual

If the material model is linear or if it depends on the strain or on the strain history.

Reimplemented from b2000::SolidMechanics3D< double >.


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