XC Open source finite element analysis program
SeccionBarraPrismatica.h
1 //----------------------------------------------------------------------------
2 // XC program; finite element analysis code
3 // for structural analysis and design.
4 //
5 // Copyright (C) Luis Claudio Pérez Tato
6 //
7 // This program derives from OpenSees <http://opensees.berkeley.edu>
8 // developed by the «Pacific earthquake engineering research center».
9 //
10 // Except for the restrictions that may arise from the copyright
11 // of the original program (see copyright_opensees.txt)
12 // XC is free software: you can redistribute it and/or modify
13 // it under the terms of the GNU General Public License as published by
14 // the Free Software Foundation, either version 3 of the License, or
15 // (at your option) any later version.
16 //
17 // This software is distributed in the hope that it will be useful, but
18 // WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 // GNU General Public License for more details.
21 //
22 //
23 // You should have received a copy of the GNU General Public License
24 // along with this program.
25 // If not, see <http://www.gnu.org/licenses/>.
26 //----------------------------------------------------------------------------
27 //SeccionBarraPrismatica.h
28 
29 
30 #ifndef SeccionBarraPrismatica_h
31 #define SeccionBarraPrismatica_h
32 
33 class PrincipalAxesOfInertia2D;
34 
35 #include "material/section/SectionForceDeformation.h"
36 
37 class Semiplano2d;
38 class Recta2d;
39 class Pos2d;
40 class Vector2d;
41 
42 namespace XC {
43 
44 class DeformationPlane;
45 
47 //
51  {
52  public:
53  SeccionBarraPrismatica(int tag,int classTag,MaterialLoader *mat_ldr= nullptr);
56 
59  virtual const Vector &getGeneralizedStrainVector(const DeformationPlane &) const;
62  virtual double getStrain(const double &y,const double &z= 0) const;
63 
64  double getN(void) const;
65  double getMy(void) const;
66  double getMz(void) const;
67 
68  virtual double getCdgY(void) const;
69  virtual double getCdgZ(void) const;
70  Pos2d getCdg(void) const;
71  Recta2d getFibraNeutra(void) const;
72  Recta2d getEjeEsfuerzos(void) const;
73  Pos2d getPuntoSemiplanoTracciones(void) const;
74  Pos2d getPuntoSemiplanoCompresiones(void) const;
75  Semiplano2d getSemiplanoTracciones(void) const;
76  Semiplano2d getSemiplanoTracciones(const Recta2d &) const;
77  Semiplano2d getSemiplanoCompresiones(void) const;
78  Semiplano2d getSemiplanoCompresiones(const Recta2d &) const;
79 
80  const double &EA(void) const;
81  const double &EIz(void) const;
82  const double &EIy(void) const;
83  const double &EIyz(void) const;
84  double getTheta(void) const;
85  double getEI1(void) const;
86  double getEI2(void) const;
87  PrincipalAxesOfInertia2D getEjesInercia(void) const;
88  Vector2d getVDirEje1(void) const;
89  Vector2d getVDirStrongAxis(void) const;
90  Vector2d getVDirEje2(void) const;
91  Vector2d getVDirWeakAxis(void) const;
92 
93  bool hayAxil(const double &tol=1e-4) const;
94  bool hayCortante(const double &tol=1e-4) const;
95  bool hayMomento(const double &tol=1e-4) const;
96  bool hayTorsor(const double &tol=1e-4) const;
97 
98  };
99 
100 } // end of XC namespace
101 
102 
103 #endif
const double & EIyz(void) const
Returns the producto de inercia multiplicado por el Young&#39;s modulus.
Definition: SeccionBarraPrismatica.cc:147
Pos2d getPuntoSemiplanoTracciones(void) const
Returns (if possible) a point in the tensioned region.
Definition: SeccionBarraPrismatica.cc:246
Vector2d getVDirStrongAxis(void) const
Returns the vector del eje principal I.
Definition: SeccionBarraPrismatica.cc:171
bool hayAxil(const double &tol=1e-4) const
Returns true if the section is subjected to an axial force.
Definition: SeccionBarraPrismatica.cc:115
bool hayCortante(const double &tol=1e-4) const
Returns true if the section is subjected to a shearing force.
Definition: SeccionBarraPrismatica.cc:193
Vector2d getVDirEje1(void) const
Returns the vector del eje principal I.
Definition: SeccionBarraPrismatica.cc:168
int setInitialDeformationPlane(const DeformationPlane &)
Sets the plano de initial strains of the section.
Definition: SeccionBarraPrismatica.cc:70
Definition: Vector.h:82
double getMz(void) const
Returns internal bending moment around z axis.
Definition: SeccionBarraPrismatica.cc:133
DeformationPlane getDeformationPlane(void) const
Returns the generalized strains vector of the cross-section.
Definition: SeccionBarraPrismatica.cc:88
Recta2d getEjeEsfuerzos(void) const
Returns the axis that is aligned with the cross-section internal forces.
Definition: SeccionBarraPrismatica.cc:220
double getEI1(void) const
Returns the bending stiffness en torno al eje de inercia principal mayor.
Definition: SeccionBarraPrismatica.cc:156
SeccionBarraPrismatica & operator=(const SeccionBarraPrismatica &otro)
Assignment operator.
Definition: SeccionBarraPrismatica.cc:59
double getMy(void) const
Returns internal bending moment around y axis.
Definition: SeccionBarraPrismatica.cc:129
SeccionBarraPrismatica(int tag, int classTag, MaterialLoader *mat_ldr=nullptr)
Constructor.
Definition: SeccionBarraPrismatica.cc:51
bool hayMomento(const double &tol=1e-4) const
Returns true if the section is subjected to a bending moment.
Definition: SeccionBarraPrismatica.cc:181
const double & EIz(void) const
Returns the bending stiffness of the cross-section en torno al eje z.
Definition: SeccionBarraPrismatica.cc:140
double getEI2(void) const
Returns the bending stiffness en torno al eje de inercia principal menor.
Definition: SeccionBarraPrismatica.cc:161
Pos2d getPuntoSemiplanoCompresiones(void) const
Returns (if possible) a point in the compressed region.
Definition: SeccionBarraPrismatica.cc:250
Semiplano2d getSemiplanoTracciones(void) const
Returns the tensioned half-plane.
Definition: SeccionBarraPrismatica.cc:259
virtual double getStrain(const double &y, const double &z=0) const
Returns strain at postion being passed as parameter.
Definition: SeccionBarraPrismatica.cc:95
int setTrialDeformationPlane(const DeformationPlane &)
Sets the deformation plane of the section.
Definition: SeccionBarraPrismatica.cc:66
virtual const Vector & getGeneralizedStrainVector(const DeformationPlane &) const
Returns the generalized strains vector que corresponde al deformation plane being passed as parameter...
Definition: SeccionBarraPrismatica.cc:80
Base class for beam-column cross sections. Constitutive equations of the section. ...
Definition: SeccionBarraPrismatica.h:50
Semiplano2d getSemiplanoCompresiones(void) const
Returns the compressed half-plane.
Definition: SeccionBarraPrismatica.cc:268
Recta2d getFibraNeutra(void) const
Returns the neutral axis.
Definition: SeccionBarraPrismatica.cc:215
DeformationPlane getInitialDeformationPlane(void) const
Returns initial strain plane.
Definition: SeccionBarraPrismatica.cc:74
Vector2d getVDirWeakAxis(void) const
Returns the vector del eje principal II.
Definition: SeccionBarraPrismatica.cc:177
Deformation plane for a cross-section.
Definition: DeformationPlane.h:53
virtual double getCdgY(void) const
Returns the coordenada «y» del centro de gravedad of the cross-section.
Definition: SeccionBarraPrismatica.cc:103
PrincipalAxesOfInertia2D getEjesInercia(void) const
Returns the ejes principales de inercia of the cross-section.
Definition: SeccionBarraPrismatica.cc:165
bool hayTorsor(const double &tol=1e-4) const
Returns true if the section is subjected to a torsional force.
Definition: SeccionBarraPrismatica.cc:205
double getTheta(void) const
Returns the ángulo que define un eje principal de inercia.
Definition: SeccionBarraPrismatica.cc:151
Material handler (definition, searching,...).
Definition: MaterialLoader.h:45
Base class for force deformation section models. Constitutive equations of the section.
Definition: SectionForceDeformation.h:86
Pos2d getCdg(void) const
Returns the position of the cross-section centroid.
Definition: SeccionBarraPrismatica.cc:111
================================================================================
Definition: ContinuaReprComponent.h:34
double getN(void) const
Returns internal axial force.
Definition: SeccionBarraPrismatica.cc:125
const double & EIy(void) const
Returns the bending stiffness of the cross-section en torno al eje y.
Definition: SeccionBarraPrismatica.cc:143
const double & EA(void) const
Returns the section axial stiffness.
Definition: SeccionBarraPrismatica.cc:137
Vector2d getVDirEje2(void) const
Returns the vector del eje principal II.
Definition: SeccionBarraPrismatica.cc:174
virtual double getCdgZ(void) const
Returns the coordenada «z» del centro de gravedad of the cross-section.
Definition: SeccionBarraPrismatica.cc:107