Abstract class for representing an element.
More...
#include <nimble_element.h>
|
NIMBLE_FUNCTION | Element ()=default |
| Default constructor.
|
|
virtual NIMBLE_FUNCTION | ~Element ()=default |
| Default virtual destructor.
|
|
virtual int | Dim () const =0 |
| Virtual function returning the spatial dimension.
|
|
virtual int | NumNodesPerElement () const =0 |
| Virtual function returning the number of nodes in the element.
|
|
virtual int | NumIntegrationPointsPerElement () const =0 |
| Virtual function returning the number of integration points per element.
|
|
virtual void | ComputeLumpedMass (double density, const double *node_reference_coords, double *lumped_mass) const =0 |
| Virtual function to compute the lumped mass.
|
|
virtual double | ComputeCharacteristicLength (const double *node_coords)=0 |
| Virtual function to compute the characteristic length.
|
|
virtual void | ComputeVolumeAverage (const double *node_current_coords, int num_quantities, const double *int_pt_quantities, double &volume, double *volume_averaged_quantity) const =0 |
|
virtual void | ComputeDeformationGradients (const double *node_reference_coords, const double *node_current_coords, double *deformation_gradients) const =0 |
| Virtual function to compute the deformation gradients.
|
|
virtual void | ComputeTangent (const double *node_reference_coords, const double *material_tangent, double *tangent)=0 |
| Virtual function to compute the tangent.
|
|
virtual void | ComputeNodalForces (const double *node_current_coords, const double *int_pt_stresses, double *node_forces)=0 |
| Virtual function to compute the nodal forces.
|
|
Abstract class for representing an element.
◆ Element()
◆ ~Element()
Default virtual destructor.
◆ ComputeCharacteristicLength()
virtual double nimble::Element::ComputeCharacteristicLength |
( |
const double * | node_coords | ) |
|
|
pure virtual |
Virtual function to compute the characteristic length.
- Parameters
-
[in] | node_coords | Pointer to array of nodal coordinates |
- Returns
- Characteristic length
Implemented in nimble::HexElement.
◆ ComputeDeformationGradients()
virtual void nimble::Element::ComputeDeformationGradients |
( |
const double * | node_reference_coords, |
|
|
const double * | node_current_coords, |
|
|
double * | deformation_gradients ) const |
|
pure virtual |
Virtual function to compute the deformation gradients.
- Parameters
-
[in] | node_reference_coords | Pointer to array of reference nodal coordinates |
[in] | node_current_coords | Pointer to array of current nodal coordinates |
[out] | deformation_gradients | Pointer to array of deformation gradients |
Implemented in nimble::HexElement.
◆ ComputeLumpedMass()
virtual void nimble::Element::ComputeLumpedMass |
( |
double | density, |
|
|
const double * | node_reference_coords, |
|
|
double * | lumped_mass ) const |
|
pure virtual |
Virtual function to compute the lumped mass.
- Parameters
-
[in] | density | Material density |
[in] | node_reference_coords | Pointer to array of nodal reference coordinates |
[out] | lumped_mass | Pointer to array of nodal lumped mass value |
Implemented in nimble::HexElement.
◆ ComputeNodalForces()
virtual void nimble::Element::ComputeNodalForces |
( |
const double * | node_current_coords, |
|
|
const double * | int_pt_stresses, |
|
|
double * | node_forces ) |
|
pure virtual |
Virtual function to compute the nodal forces.
- Parameters
-
[in] | node_current_coords | Pointer to array of current nodal coordinates |
[in] | int_pt_stresses | Pointer to array of stresses at integration points |
[out] | node_forces | Pointer to array of forces |
Implemented in nimble::HexElement.
◆ ComputeTangent()
virtual void nimble::Element::ComputeTangent |
( |
const double * | node_reference_coords, |
|
|
const double * | material_tangent, |
|
|
double * | tangent ) |
|
pure virtual |
Virtual function to compute the tangent.
- Parameters
-
[in] | node_current_coords | Pointer to array of current nodal coordinates |
[in] | material_tangent | Pointer to array of material tangent |
[out] | tangent | Pointer to array of tangent |
Implemented in nimble::HexElement.
◆ ComputeVolumeAverage()
virtual void nimble::Element::ComputeVolumeAverage |
( |
const double * | node_current_coords, |
|
|
int | num_quantities, |
|
|
const double * | int_pt_quantities, |
|
|
double & | volume, |
|
|
double * | volume_averaged_quantity ) const |
|
pure virtual |
◆ Dim()
virtual int nimble::Element::Dim |
( |
| ) |
const |
|
pure virtual |
Virtual function returning the spatial dimension.
- Returns
- Spatial dimension
Implemented in nimble::HexElement.
◆ NumIntegrationPointsPerElement()
virtual int nimble::Element::NumIntegrationPointsPerElement |
( |
| ) |
const |
|
pure virtual |
Virtual function returning the number of integration points per element.
- Returns
- Number of integration points per element
Implemented in nimble::HexElement.
◆ NumNodesPerElement()
virtual int nimble::Element::NumNodesPerElement |
( |
| ) |
const |
|
pure virtual |
Virtual function returning the number of nodes in the element.
- Returns
- Number of nodes in the element
Implemented in nimble::HexElement.
◆ K_F_XX_
const int nimble::Element::K_F_XX_ = 0 |
|
protected |
◆ K_F_XY_
const int nimble::Element::K_F_XY_ = 3 |
|
protected |
◆ K_F_XZ_
const int nimble::Element::K_F_XZ_ = 8 |
|
protected |
◆ K_F_YX_
const int nimble::Element::K_F_YX_ = 6 |
|
protected |
◆ K_F_YY_
const int nimble::Element::K_F_YY_ = 1 |
|
protected |
◆ K_F_YZ_
const int nimble::Element::K_F_YZ_ = 4 |
|
protected |
◆ K_F_ZX_
const int nimble::Element::K_F_ZX_ = 5 |
|
protected |
◆ K_F_ZY_
const int nimble::Element::K_F_ZY_ = 7 |
|
protected |
◆ K_F_ZZ_
const int nimble::Element::K_F_ZZ_ = 2 |
|
protected |
◆ K_S_XX_
const int nimble::Element::K_S_XX_ = 0 |
|
protected |
◆ K_S_XY_
const int nimble::Element::K_S_XY_ = 3 |
|
protected |
◆ K_S_XZ_
const int nimble::Element::K_S_XZ_ = 5 |
|
protected |
◆ K_S_YX_
const int nimble::Element::K_S_YX_ = 3 |
|
protected |
◆ K_S_YY_
const int nimble::Element::K_S_YY_ = 1 |
|
protected |
◆ K_S_YZ_
const int nimble::Element::K_S_YZ_ = 4 |
|
protected |
◆ K_S_ZX_
const int nimble::Element::K_S_ZX_ = 5 |
|
protected |
◆ K_S_ZY_
const int nimble::Element::K_S_ZY_ = 4 |
|
protected |
◆ K_S_ZZ_
const int nimble::Element::K_S_ZZ_ = 2 |
|
protected |
The documentation for this class was generated from the following file: