31 #ifndef PrismaticBarCrossSection_h 32 #define PrismaticBarCrossSection_h 36 #include "material/section/SectionForceDeformation.h" 37 #include "material/section/repres/CrossSectionProperties1d.h" 38 #include "material/section/repres/CrossSectionProperties2d.h" 39 #include "material/section/repres/CrossSectionProperties3d.h" 48 class DeformationPlane;
64 virtual double getStrain(
const double &y,
const double &z= 0)
const;
66 double getN(
void)
const;
67 double getMy(
void)
const;
68 double getMz(
void)
const;
82 virtual const double &
EA(
void)
const;
83 virtual const double &
EIz(
void)
const;
84 virtual const double &
EIy(
void)
const;
85 virtual const double &
EIyz(
void)
const;
86 virtual const double &
GAy(
void)
const;
87 virtual const double &
GAz(
void)
const;
88 virtual const double &
GJ(
void)
const;
103 bool hayAxil(
const double &tol=1e-4)
const;
106 bool hayTorsor(
const double &tol=1e-4)
const;
virtual double getLinearRho(void) const
Returns the mass per unit length of the section.
Definition: PrismaticBarCrossSection.cc:230
virtual const double & EIz(void) const
Returns the bending stiffness of the cross-section en torno the z axis.
Definition: PrismaticBarCrossSection.cc:148
virtual const double & EA(void) const
Returns the section axial stiffness.
Definition: PrismaticBarCrossSection.cc:145
Mechanical (E, G) and mass properties of a section (area, moments of inertia,...) in a three-dimensio...
Definition: CrossSectionProperties3d.h:42
Float vector abstraction.
Definition: Vector.h:94
Line2d getInternalForcesAxis(void) const
Returns the axis that is aligned with the cross-section internal forces.
Definition: PrismaticBarCrossSection.cc:313
Vector2d getAxis1VDir(void) const
Returns the vector of the principal axis I.
Definition: PrismaticBarCrossSection.cc:261
bool hayAxil(const double &tol=1e-4) const
Returns true if the section is subjected to an axial force.
Definition: PrismaticBarCrossSection.cc:123
double getMz(void) const
Returns internal bending moment around z axis.
Definition: PrismaticBarCrossSection.cc:141
Vector2d getAxis2VDir(void) const
Returns the vector of the principal axis II.
Definition: PrismaticBarCrossSection.cc:267
Pos2d getPointOnTensionedHalfPlane(void) const
Returns (if possible) a point in the tensioned region.
Definition: PrismaticBarCrossSection.cc:339
Pos2d getPointOnCompressedHalfPlane(void) const
Returns (if possible) a point in the compressed region.
Definition: PrismaticBarCrossSection.cc:343
virtual const double & GAz(void) const
Returns the shear stiffness along z axis.
Definition: PrismaticBarCrossSection.cc:195
virtual const double & GJ(void) const
Returns the torsional stiffness.
Definition: PrismaticBarCrossSection.cc:206
PrismaticBarCrossSection(int tag, int classTag, MaterialHandler *mat_ldr=nullptr)
Constructor.
Definition: PrismaticBarCrossSection.cc:52
double getEI1(void) const
Returns the bending stiffness around the major principal axis of inertia.
Definition: PrismaticBarCrossSection.cc:222
Posición en dos dimensiones.
Definition: Pos2d.h:41
int setInitialDeformationPlane(const DeformationPlane &)
Sets the plane that defines initial strains of the section.
Definition: PrismaticBarCrossSection.cc:60
double getEI2(void) const
Returns the bending stiffness en torno al principal axis of inertia menor.
Definition: PrismaticBarCrossSection.cc:227
Line in a two-dimensional space.
Definition: Line2d.h:61
virtual double getStrain(const double &y, const double &z=0) const
Returns strain at position being passed as parameter.
Definition: PrismaticBarCrossSection.cc:102
Base class for beam-column cross sections.
Definition: PrismaticBarCrossSection.h:53
Principals axes of inertia in planar geometry.
Definition: PrincipalAxes2D.h:34
double getN(void) const
Returns internal axial force.
Definition: PrismaticBarCrossSection.cc:133
HalfPlane2d getTensionedHalfPlane(void) const
Returns the tensioned half-plane.
Definition: PrismaticBarCrossSection.cc:352
virtual double getCenterOfMassZ(void) const
Returns the z coordinate of the center of gravity of the cross-section.
Definition: PrismaticBarCrossSection.cc:115
DeformationPlane getDeformationPlane(void) const
Returns the deformation plane of this section.
Definition: PrismaticBarCrossSection.cc:78
virtual const double & GAy(void) const
Returns the shear stiffness along y axis.
Definition: PrismaticBarCrossSection.cc:184
bool hayTorsor(const double &tol=1e-4) const
Returns true if the section is subjected to a torsional force.
Definition: PrismaticBarCrossSection.cc:298
Vector en dos dimensiones.
Definition: Vector2d.h:41
int setTrialDeformationPlane(const DeformationPlane &)
Sets the deformation plane of the section.
Definition: PrismaticBarCrossSection.cc:56
double getTheta(void) const
Returns the angle that defines the principal axis of inertia.
Definition: PrismaticBarCrossSection.cc:217
virtual const double & EIyz(void) const
Returns the product of inertia multiplied by the Young modulus.
Definition: PrismaticBarCrossSection.cc:173
bool isSubjectedToBending(const double &tol=1e-4) const
Returns true if the section is subjected to a bending moment.
Definition: PrismaticBarCrossSection.cc:274
DeformationPlane getInitialDeformationPlane(void) const
Returns initial strain plane.
Definition: PrismaticBarCrossSection.cc:64
bool isSubjectedToShear(const double &tol=1e-4) const
Returns true if the section is subjected to a shearing force.
Definition: PrismaticBarCrossSection.cc:286
Mechanical (E, G) and mass properties of a section (area, moments of inertia,...) for a bi-dimensiona...
Definition: CrossSectionProperties2d.h:55
Mechanical (E, G) and mass properties of a section (area, moments of inertia,...) for a bi-dimensiona...
Definition: CrossSectionProperties1d.h:51
Vector2d getVDirWeakAxis(void) const
Returns the vector of the principal axis II.
Definition: PrismaticBarCrossSection.cc:270
PrincipalAxes2D getInertiaAxes(void) const
Returns the principal axes of inertia of the cross-section.
Definition: PrismaticBarCrossSection.cc:258
Line2d getNeutralAxis(void) const
Returns the neutral axis.
Definition: PrismaticBarCrossSection.cc:308
CrossSectionProperties3d getCrossSectionProperties3d(const double &e=1.0, const double &iw=0.0, const double &g=1.0) const
Return the 3D properties of the this cross-section.
Definition: PrismaticBarCrossSection.cc:251
CrossSectionProperties1d getCrossSectionProperties1d(const double &e=1.0, const double &iw=0.0) const
Return the 1D properties of the this cross-section.
Definition: PrismaticBarCrossSection.cc:239
Material handler (definition, searching,...).
Definition: MaterialHandler.h:46
virtual double getCenterOfMassY(void) const
Returns the y coordinate of the center of gravity of the cross-section.
Definition: PrismaticBarCrossSection.cc:111
CrossSectionProperties2d getCrossSectionProperties2d(const double &e=1.0, const double &iw=0.0, const double &g=1.0) const
Return the 2D properties of the this cross-section.
Definition: PrismaticBarCrossSection.cc:245
Half plane in a two-dimensional space.
Definition: HalfPlane2d.h:38
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
virtual const Vector & getGeneralizedStrainVector(const DeformationPlane &) const
Return the generalized strains vector that corresponds to the given deformation plane.
Definition: PrismaticBarCrossSection.cc:70
HalfPlane2d getCompressedHalfPlane(void) const
Returns the compressed half-plane.
Definition: PrismaticBarCrossSection.cc:361
double getMy(void) const
Returns internal bending moment around y axis.
Definition: PrismaticBarCrossSection.cc:137
virtual const double & EIy(void) const
Returns the bending stiffness of the cross-section with respect to eht y axis.
Definition: PrismaticBarCrossSection.cc:162
Vector2d getVDirStrongAxis(void) const
Returns the vector of the principal axis I.
Definition: PrismaticBarCrossSection.cc:264
Pos2d getCenterOfMass(void) const
Returns the position of the cross-section centroid.
Definition: PrismaticBarCrossSection.cc:119