32 #ifndef _LIN2DRECTANGULAR_HPP_ 33 #define _LIN2DRECTANGULAR_HPP_ 37 #include <Eigen/Dense> 60 Lin2DRectangular(
double h,
double b, std::unique_ptr<Material> &material,
double theta=0.0,
unsigned int ip=10);
95 Eigen::VectorXd
GetStrainAt(
double x3=0,
double x2=0);
101 Eigen::VectorXd
GetStressAt(
double x3=0,
double x2=0);
119 void UpdateState(
const Eigen::VectorXd strain,
const unsigned int cond);
Eigen::MatrixXd GetDensity()
Access the section density matrix.
void InitialState()
Brings the section states to its initial state.
void ComputeSectionCenter(double &zcm, double &ycm)
Gets the section centroid.
double GetInertiaAxis2()
Computes the Angle flexural inertia.
Eigen::VectorXd GetStrain()
Returns the resultant (generalised) strain vector over the section.
Virtual class for creating a section object.
Definition: Section.hpp:45
double GetArea()
Computes the Angle area.
void UpdateState(const Eigen::VectorXd strain, const unsigned int cond)
Update the section state for this iteration.
void ReverseState()
Reverse the section states to previous converged state.
This file contains the abstract "Material object" declarations, which computes the strain...
Eigen::MatrixXd GetTangentStiffness()
Returns the section stiffness matrix.
This file contains the abstract "Section object" declarations, which computes the strain...
unsigned int InsertPoint
Local axis coordinate.
Definition: Lin2DRectangular.hpp:164
Eigen::VectorXd Strain
Generalized Strain vector.
Definition: Lin2DRectangular.hpp:167
std::unique_ptr< Material > theMaterial
The section's material.
Definition: Lin2DRectangular.hpp:170
Class for creating a solid rectangular section for 2D analysis with linear elastic material for a fra...
Definition: Lin2DRectangular.hpp:49
double b
Width.
Definition: Lin2DRectangular.hpp:158
double h
Height.
Definition: Lin2DRectangular.hpp:155
double GetShearArea3()
Computes the Angle shear area.
Eigen::MatrixXd GetInitialTangentStiffness()
Returns the section initial stiffness matrix.
void CommitState()
Perform converged section state update.
double Theta
Rotation angle.
Definition: Lin2DRectangular.hpp:161
double GetInertiaAxis3()
Computes the Angle flexural inertia.
Eigen::VectorXd GetStress()
Returns the resultant (generalised) stress vector over the section.
Eigen::VectorXd GetStressAt(double x3=0, double x2=0)
Returns the section stress at given position.
Eigen::VectorXd GetStrainAt(double x3=0, double x2=0)
Returns the section strain at given position.
Lin2DRectangular(double h, double b, 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.
std::unique_ptr< Section > CopySection()
Clone the 'Lin2DRectangular' section.
double GetShearArea2()
Computes the Angle shear area.
~Lin2DRectangular()
Destroys this Lin2DCircular object.