This is the ElementProperty class that is used by 3D elements. More...
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. | |
![]() | |
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 |
Domain & | get_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 RTable & | get_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 |
![]() | |
const std::string & | get_object_name () const override |
![]() | |
virtual | ~Object () |
![]() | |
virtual bool | path_dependent (const int layer_id=-1) const |
virtual SolidMechanics3D< double > * | copy (int layer_) |
Additional Inherited Members | |
![]() | |
static ObjectType | type |
This is the ElementProperty class that is used by 3D elements.
< API used by the 3D solid elements
|
inlineoverridevirtual |
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 >.
|
inlineoverridevirtual |
If the material model is linear or if it depends on the strain or on the strain history.
Reimplemented from b2000::SolidMechanics3D< double >.