Class for creating a solid circular section for 3D analysis with linear elastic material for a frame elements.
More...
#include <Lin3DCircular.hpp>
|
double | GetArea () |
| Computes the Angle area. More...
|
|
double | GetShearArea2 () |
| Computes the Angle shear area. More...
|
|
double | GetShearArea3 () |
| Computes the Angle shear area. More...
|
|
double | GetInertiaAxis1 () |
|
double | GetInertiaAxis2 () |
| Computes the Angle flexural inertia. More...
|
|
double | GetInertiaAxis3 () |
| Computes the Angle flexural inertia. More...
|
|
void | ComputeSectionCenter (double &zcm, double &ycm) |
| Gets the section centroid. More...
|
|
Eigen::MatrixXd | GetLineRotationMatrix (double theta) |
| Gets Local Axis Rotation for Line Section according to provided angle. More...
|
|
Eigen::MatrixXd | GetAreaRotationMatrix (double Theta) |
| Gets Local Axis Rotation for Area Section according to provided angle. More...
|
|
Eigen::MatrixXd | GetLineTranslationMatrix (double h, double b, double zc, double yc, unsigned int ip) |
| Gets centroid translation axis for Line Section according to insertion point. More...
|
|
void | InsertionPointCoordinates (double &x3, double &x2, double h, double b, double zc, double yc, unsigned int ip) |
| Gets the coordinate according to insertion point. More...
|
|
Eigen::MatrixXd | ComputeLineLocalAxes (double h, double b, double zcm, double ycm, double angle, unsigned int ip) |
| Transforms generalised strain/stresses from Element to Section local coordinate. More...
|
|
Class for creating a solid circular section for 3D analysis with linear elastic material for a frame elements.
- See also
- Section.hpp
◆ Lin3DCircular()
Lin3DCircular::Lin3DCircular |
( |
double |
r, |
|
|
std::unique_ptr< Material > & |
material, |
|
|
double |
theta = 0.0 , |
|
|
unsigned int |
ip = 10 |
|
) |
| |
◆ ~Lin3DCircular()
Lin3DCircular::~Lin3DCircular |
( |
| ) |
|
◆ CommitState()
void Lin3DCircular::CommitState |
( |
| ) |
|
|
virtual |
Perform converged section state update.
- Note
- This function sets the trail stress and strain as converged.
Implements Section.
◆ ComputeSectionCenter()
void Lin3DCircular::ComputeSectionCenter |
( |
double & |
zcm, |
|
|
double & |
ycm |
|
) |
| |
|
protected |
Gets the section centroid.
- Parameters
-
zcm | The centroid position along x3 axis. |
ycm | The centroid position along x2 axis. |
- See also
- The geometric properties can be revisited at Lin3DCircular.
◆ CopySection()
std::unique_ptr<Section> Lin3DCircular::CopySection |
( |
| ) |
|
|
virtual |
◆ GetArea()
double Lin3DCircular::GetArea |
( |
| ) |
|
|
protected |
Computes the Angle area.
- Returns
- A constant with the cross-section area.
- See also
- The geometric properties can be revisited at Lin3DCircular.
◆ GetDensity()
Eigen::MatrixXd Lin3DCircular::GetDensity |
( |
| ) |
|
|
virtual |
Access the section density matrix.
- Returns
- The section density matrix.
Implements Section.
◆ GetInertiaAxis1()
double Lin3DCircular::GetInertiaAxis1 |
( |
| ) |
|
|
protected |
- Returns
- A constant with polar moment of inertia about axis x1.
- See also
- The geometric properties can be revisited at Lin3DCircular.
◆ GetInertiaAxis2()
double Lin3DCircular::GetInertiaAxis2 |
( |
| ) |
|
|
protected |
Computes the Angle flexural inertia.
- Returns
- A constant with the moment of inertia about axis x2.
- See also
- The geometric properties can be revisited at Lin3DCircular.
◆ GetInertiaAxis3()
double Lin3DCircular::GetInertiaAxis3 |
( |
| ) |
|
|
protected |
Computes the Angle flexural inertia.
- Returns
- A constant with the moment of inertia about axis x3.
- See also
- The geometric properties can be revisited at Lin3DCircular.
◆ GetInitialTangentStiffness()
Eigen::MatrixXd Lin3DCircular::GetInitialTangentStiffness |
( |
| ) |
|
|
virtual |
Returns the section initial stiffness matrix.
- Returns
- Matrix with the initial section tangent stiffness matrix.
- Note
- The initial tangent stiffness matrix is computed when the generalized strain vector is zero.
Implements Section.
◆ GetShearArea2()
double Lin3DCircular::GetShearArea2 |
( |
| ) |
|
|
protected |
Computes the Angle shear area.
- Returns
- A constant with the shear area along axis x2.
- See also
- The geometric properties can be revisited at Lin3DCircular.
◆ GetShearArea3()
double Lin3DCircular::GetShearArea3 |
( |
| ) |
|
|
protected |
Computes the Angle shear area.
- Returns
- A constant with the shear area along axis x3.
- See also
- The geometric properties can be revisited at Lin3DCircular.
◆ GetStrain()
Eigen::VectorXd Lin3DCircular::GetStrain |
( |
| ) |
|
|
virtual |
Returns the resultant (generalised) strain vector over the section.
- Returns
- Vector with the resultant strain components.
Implements Section.
◆ GetStrainAt()
Eigen::VectorXd Lin3DCircular::GetStrainAt |
( |
double |
x3 = 0 , |
|
|
double |
x2 = 0 |
|
) |
| |
|
virtual |
Returns the section strain at given position.
- Parameters
-
x3 | Position on the x3-axis where the strain is evaluated. |
x2 | Position on the x2-axis where the strain is evaluated. |
- Returns
- Vector with the strain components at coordinate (x3,x2).
Implements Section.
◆ GetStress()
Eigen::VectorXd Lin3DCircular::GetStress |
( |
| ) |
|
|
virtual |
Returns the resultant (generalised) stress vector over the section.
- Returns
- Vector with the resultant stress components.
Implements Section.
◆ GetStressAt()
Eigen::VectorXd Lin3DCircular::GetStressAt |
( |
double |
x3 = 0 , |
|
|
double |
x2 = 0 |
|
) |
| |
|
virtual |
Returns the section stress at given position.
- Parameters
-
x3 | Position on the x3-axis where the stress is evaluated. |
x2 | Position on the x2-axis where the stress is evaluated. |
- Returns
- Vector with the stress components at coordinate (x3,x2).
Implements Section.
◆ GetTangentStiffness()
Eigen::MatrixXd Lin3DCircular::GetTangentStiffness |
( |
| ) |
|
|
virtual |
Returns the section stiffness matrix.
- Returns
- Matrix with the section consistent tangent stiffness matrix.
Implements Section.
◆ InitialState()
void Lin3DCircular::InitialState |
( |
| ) |
|
|
virtual |
Brings the section states to its initial state.
- Note
- This function returns the material states to the beginning.
Implements Section.
◆ ReverseState()
void Lin3DCircular::ReverseState |
( |
| ) |
|
|
virtual |
Reverse the section states to previous converged state.
- Note
- This function returns the material states to previous converged states.
Implements Section.
◆ UpdateState()
void Lin3DCircular::UpdateState |
( |
const Eigen::VectorXd |
strain, |
|
|
const unsigned int |
cond |
|
) |
| |
|
virtual |
Update the section state for this iteration.
- Parameters
-
strain | Vector with the strain components at this Gauss-point. |
cond | If the the elastic/plastic material components will be updated. |
- Note
- This function computes the strain and tanget stiffness matrix once the trial strain converged.
Implements Section.
◆ InsertPoint
unsigned int Lin3DCircular::InsertPoint |
|
private |
◆ Strain
Eigen::VectorXd Lin3DCircular::Strain |
|
private |
Generalized Strain vector.
◆ theMaterial
std::unique_ptr<Material> Lin3DCircular::theMaterial |
|
private |
◆ Theta
double Lin3DCircular::Theta |
|
private |