32 #ifndef _LIN3DANGLE_HPP_ 33 #define _LIN3DANGLE_HPP_ 37 #include <Eigen/Dense> 62 Lin3DAngle(
double h,
double b,
double tw,
double tf, std::unique_ptr<Material> &material,
double theta=0.0,
unsigned int ip=10);
97 Eigen::VectorXd
GetStrainAt(
double x3=0,
double x2=0);
103 Eigen::VectorXd
GetStressAt(
double x3=0,
double x2=0);
121 void UpdateState(
const Eigen::VectorXd strain,
const unsigned int cond);
double tf
Flange thickness.
Definition: Lin3DAngle.hpp:176
Eigen::VectorXd GetStressAt(double x3=0, double x2=0)
Returns the section stress at given position.
Eigen::MatrixXd GetInitialTangentStiffness()
Returns the section initial stiffness matrix.
double GetInertiaAxis2()
Computes the Angle flexural inertia.
Virtual class for creating a section object.
Definition: Section.hpp:45
unsigned int InsertPoint
Local axis coordinate.
Definition: Lin3DAngle.hpp:182
std::unique_ptr< Section > CopySection()
Clone the 'Lin3DAngle' section.
std::unique_ptr< Material > theMaterial
The section's material.
Definition: Lin3DAngle.hpp:188
Eigen::VectorXd GetStrainAt(double x3=0, double x2=0)
Returns the section strain at given position.
This file contains the abstract "Material object" declarations, which computes the strain...
double Theta
Rotation angle.
Definition: Lin3DAngle.hpp:179
void ComputeSectionCenter(double &zcm, double &ycm)
Gets the section centroid.
This file contains the abstract "Section object" declarations, which computes the strain...
double GetInertiaAxis3()
Computes the Angle flexural inertia.
~Lin3DAngle()
Destroys this Lin3DAngle object.
double GetInertiaAxis23()
Computes the Angle product of inertia.
Eigen::VectorXd GetStress()
Returns the resultant (generalised) stress vector over the section.
void UpdateState(const Eigen::VectorXd strain, const unsigned int cond)
Update the section state for this iteration.
double b
Total width.
Definition: Lin3DAngle.hpp:170
Eigen::VectorXd GetStrain()
Returns the resultant (generalised) strain vector over the section.
double GetArea()
Computes the Angle area.
void CommitState()
Perform converged section state update.
Eigen::MatrixXd GetTangentStiffness()
Returns the section stiffness matrix.
double GetShearArea2()
Computes the Angle shear area.
Eigen::MatrixXd GetDensity()
Access the section density matrix.
double GetShearArea3()
Computes the Angle shear area.
double h
Total height.
Definition: Lin3DAngle.hpp:167
void InitialState()
Brings the section states to its initial state.
Eigen::VectorXd Strain
Generalized Strain vector.
Definition: Lin3DAngle.hpp:185
Lin3DAngle(double h, double b, double tw, double tf, std::unique_ptr< Material > &material, double theta=0.0, unsigned int ip=10)
Creates a Section to be specified at a Gauss-point in an Element.
double tw
Web thickness.
Definition: Lin3DAngle.hpp:173
void ReverseState()
Reverse the section states to previous converged state.
Class for creating a angle section for 3D analysis with linear elastic material for a frame elements...
Definition: Lin3DAngle.hpp:49