Class for creating a general solid section for 3D analysis with linear elastic material for a frame elements.
More...
#include <Lin3DUserDefined.hpp>
|
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 general solid section for 3D analysis with linear elastic material for a frame elements.
- See also
- Section.hpp
◆ Lin3DUserDefined()
Lin3DUserDefined::Lin3DUserDefined |
( |
std::vector< double > |
properties, |
|
|
std::unique_ptr< Material > & |
material, |
|
|
double |
theta = 0.0 |
|
) |
| |
◆ ~Lin3DUserDefined()
Lin3DUserDefined::~Lin3DUserDefined |
( |
| ) |
|
◆ CommitState()
void Lin3DUserDefined::CommitState |
( |
| ) |
|
|
virtual |
Perform converged section state update.
- Note
- This function sets the trail stress and strain as converged.
Implements Section.
◆ CopySection()
std::unique_ptr<Section> Lin3DUserDefined::CopySection |
( |
| ) |
|
|
virtual |
◆ GetDensity()
Eigen::MatrixXd Lin3DUserDefined::GetDensity |
( |
| ) |
|
|
virtual |
Access the section density matrix.
- Returns
- The section density matrix.
Implements Section.
◆ GetInitialTangentStiffness()
Eigen::MatrixXd Lin3DUserDefined::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.
◆ GetStrain()
Eigen::VectorXd Lin3DUserDefined::GetStrain |
( |
| ) |
|
|
virtual |
Returns the resultant (generalised) strain vector over the section.
- Returns
- Vector with the resultant strain components.
Implements Section.
◆ GetStrainAt()
Eigen::VectorXd Lin3DUserDefined::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 Lin3DUserDefined::GetStress |
( |
| ) |
|
|
virtual |
Returns the resultant (generalised) stress vector over the section.
- Returns
- Vector with the resultant stress components.
Implements Section.
◆ GetStressAt()
Eigen::VectorXd Lin3DUserDefined::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 Lin3DUserDefined::GetTangentStiffness |
( |
| ) |
|
|
virtual |
Returns the section stiffness matrix.
- Returns
- Matrix with the section consistent tangent stiffness matrix.
Implements Section.
◆ InitialState()
void Lin3DUserDefined::InitialState |
( |
| ) |
|
|
virtual |
Brings the section states to its initial state.
- Note
- This function returns the material states to the beginning.
Implements Section.
◆ ReverseState()
void Lin3DUserDefined::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 Lin3DUserDefined::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.
double Lin3DUserDefined::A |
|
private |
◆ As2
double Lin3DUserDefined::As2 |
|
private |
◆ As3
double Lin3DUserDefined::As3 |
|
private |
◆ I22
double Lin3DUserDefined::I22 |
|
private |
◆ I23
double Lin3DUserDefined::I23 |
|
private |
◆ I33
double Lin3DUserDefined::I33 |
|
private |
double Lin3DUserDefined::J |
|
private |
◆ Strain
Eigen::VectorXd Lin3DUserDefined::Strain |
|
private |
Generalized Strain vector.
◆ theMaterial
std::unique_ptr<Material> Lin3DUserDefined::theMaterial |
|
private |
◆ Theta
double Lin3DUserDefined::Theta |
|
private |