XC Open source finite element analysis program
EsfBeamColumn3d.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 //EsfBeamColumn3d.h
28 
29 
30 #ifndef EsfBeamColumn3d_h
31 #define EsfBeamColumn3d_h
32 
33 #include "utility/matrix/Vector.h"
34 
35 namespace XC {
36 
37 class DbTagData;
38 
39 class FEM_ObjectBroker;
40 class CommParameters;
41 
43 //
45 class EsfBeamColumn3d: public Vector
46  {
47  public:
48  EsfBeamColumn3d(void);
49  explicit EsfBeamColumn3d(const Vector &);
50  EsfBeamColumn3d(const EsfBeamColumn3d &otro);
53  inline const double &N(void) const
54  { return (*this)[0]; }
56  inline double &N(void)
57  { return (*this)[0]; }
59  inline double AN1(void) const
60  { return -N(); }
62  inline double AN2(void) const
63  { return N(); }
65  inline const double &Mz1(void) const
66  { return (*this)[1]; }
68  inline double &Mz1(void)
69  { return (*this)[1]; }
71  inline const double &Mz2(void) const
72  { return (*this)[2]; }
74  inline double &Mz2(void)
75  { return (*this)[2]; }
77  inline double Vy(const double &L) const
78  { return (Mz1()+Mz2())/L; }
80  inline const double &My1(void) const
81  { return (*this)[3]; }
83  inline double &My1(void)
84  { return (*this)[3]; }
86  inline const double &My2(void) const
87  { return (*this)[4]; }
89  inline double &My2(void)
90  { return (*this)[4]; }
92  inline double Vz(const double &L) const
93  { return -((My1()+My2())/L); }
95  inline const double &T(void) const
96  { return (*this)[5]; }
98  inline double &T(void)
99  { return (*this)[5]; }
101  inline double T1(void) const
102  { return -T(); }
104  inline double T2(void) const
105  { return T(); }
106  };
107 int sendEsfBeamColumn3d(const EsfBeamColumn3d &, int posDbTag,DbTagData &dt, CommParameters &cp);
108 int receiveEsfBeamColumn3d(EsfBeamColumn3d &v, int posDbTag,DbTagData &dt,const CommParameters &cp);
109 
110 } // end of XC namespace
111 
112 #endif
double Vy(const double &L) const
Returns the cortante Vy.
Definition: EsfBeamColumn3d.h:77
EsfBeamColumn3d(void)
Default constructor.
Definition: EsfBeamColumn3d.cc:33
double & N(void)
Returns the axil.
Definition: EsfBeamColumn3d.h:56
Definition: Vector.h:82
Vector que almacena los dbTags de los miembros de la clase.
Definition: DbTagData.h:43
3D beam column internal forces.
Definition: EsfBeamColumn3d.h:45
double AN2(void) const
Return the fuerza axil que se ejerce sobre la barra en el extremo frontal.
Definition: EsfBeamColumn3d.h:62
const double & Mz1(void) const
Returns the momento z en el extremo dorsal.
Definition: EsfBeamColumn3d.h:65
double & My1(void)
Returns the momento y en el extremo dorsal.
Definition: EsfBeamColumn3d.h:83
double T2(void) const
Returns the torsor en el extremo frontal.
Definition: EsfBeamColumn3d.h:104
const double & N(void) const
Returns the axil.
Definition: EsfBeamColumn3d.h:53
const double & T(void) const
Returns the torsor.
Definition: EsfBeamColumn3d.h:95
const double & My2(void) const
Returns the momento y en el extremo frontal.
Definition: EsfBeamColumn3d.h:86
double & T(void)
Returns the torsor.
Definition: EsfBeamColumn3d.h:98
double Vz(const double &L) const
Returns the cortante Vy.
Definition: EsfBeamColumn3d.h:92
const double & My1(void) const
Returns the momento y en el extremo dorsal.
Definition: EsfBeamColumn3d.h:80
double AN1(void) const
Return the fuerza axil que se ejerce sobre la barra en el extremo dorsal.
Definition: EsfBeamColumn3d.h:59
double T1(void) const
Returns the torsor en el extremo dorsal.
Definition: EsfBeamColumn3d.h:101
const double & Mz2(void) const
Returns the momento z en el extremo frontal.
Definition: EsfBeamColumn3d.h:71
double & Mz1(void)
Returns the momento z en el extremo dorsal.
Definition: EsfBeamColumn3d.h:68
EsfBeamColumn3d & operator=(const EsfBeamColumn3d &otro)
Assignment operator.
Definition: EsfBeamColumn3d.cc:55
double & My2(void)
Returns the momento y en el extremo frontal.
Definition: EsfBeamColumn3d.h:89
double & Mz2(void)
Returns the momento z en el extremo frontal.
Definition: EsfBeamColumn3d.h:74
Communication parameters between processes.
Definition: CommParameters.h:65
================================================================================
Definition: ContinuaReprComponent.h:34