32 #ifndef _LIN2DWIDEFLANGE_HPP_ 33 #define _LIN2DWIDEFLANGE_HPP_ 37 #include <Eigen/Dense> 62 Lin2DWideFlange(
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 h
Total height.
Definition: Lin2DWideFlange.hpp:157
void ReverseState()
Reverse the section states to previous converged state.
void ComputeSectionCenter(double &zcm, double &ycm)
Gets the section centroid.
void UpdateState(const Eigen::VectorXd strain, const unsigned int cond)
Update the section state for this iteration.
Eigen::VectorXd GetStressAt(double x3=0, double x2=0)
Returns the section stress at given position.
Virtual class for creating a section object.
Definition: Section.hpp:45
Eigen::MatrixXd GetTangentStiffness()
Returns the section stiffness matrix.
double Theta
Rotation angle.
Definition: Lin2DWideFlange.hpp:169
This file contains the abstract "Material object" declarations, which computes the strain...
std::unique_ptr< Section > CopySection()
Clone the 'Lin2DWideFlange' section.
double GetShearArea3()
Computes the Angle shear area.
void InitialState()
Brings the section states to its initial state.
This file contains the abstract "Section object" declarations, which computes the strain...
Eigen::MatrixXd GetInitialTangentStiffness()
Returns the section initial stiffness matrix.
Eigen::VectorXd GetStrainAt(double x3=0, double x2=0)
Returns the section strain at given position.
double b
Total width.
Definition: Lin2DWideFlange.hpp:160
Eigen::VectorXd Strain
Generalized Strain vector.
Definition: Lin2DWideFlange.hpp:175
double tf
Flange thickness.
Definition: Lin2DWideFlange.hpp:166
Lin2DWideFlange(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 GetInertiaAxis2()
Computes the Angle flexural inertia.
unsigned int InsertPoint
Local axis coordinate.
Definition: Lin2DWideFlange.hpp:172
double GetShearArea2()
Computes the Angle shear area.
void CommitState()
Perform converged section state update.
Class for creating a wide flange section for 2D analysis with linear elastic material for a frame ele...
Definition: Lin2DWideFlange.hpp:49
double GetInertiaAxis3()
Computes the Angle flexural inertia.
Eigen::VectorXd GetStrain()
Returns the resultant (generalised) strain vector over the section.
double GetArea()
Computes the Angle area.
Eigen::MatrixXd GetDensity()
Access the section density matrix.
double tw
Web thickness.
Definition: Lin2DWideFlange.hpp:163
std::unique_ptr< Material > theMaterial
The section's material.
Definition: Lin2DWideFlange.hpp:178
Eigen::VectorXd GetStress()
Returns the resultant (generalised) stress vector over the section.
~Lin2DWideFlange()
Destroys this Lin2DWideFlange object.