XC Open source finite element analysis program
BeamColumnWithSectionFDTrf3d.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 /* ****************************************************************** **
28 ** OpenSees - Open System for Earthquake Engineering Simulation **
29 ** Pacific Earthquake Engineering Research Center **
30 ** **
31 ** **
32 ** (C) Copyright 1999, The Regents of the University of California **
33 ** All Rights Reserved. **
34 ** **
35 ** Commercial use of this program without express permission of the **
36 ** University of California, Berkeley, is strictly prohibited. See **
37 ** file 'COPYRIGHT' in main directory for information on usage and **
38 ** redistribution, and for a DISCLAIMER OF ALL WARRANTIES. **
39 ** **
40 ** Developed by: **
41 ** Frank McKenna (fmckenna@ce.berkeley.edu) **
42 ** Gregory L. Fenves (fenves@ce.berkeley.edu) **
43 ** Filip C. Filippou (filippou@ce.berkeley.edu) **
44 ** **
45 ** ****************************************************************** */
46 
47 // $Revision: 1.11 $
48 // $Date: 2003/02/25 23:32:47 $
49 // $Source: /usr/local/cvs/OpenSees/SRC/element/beamWithHinges/BeamWithHinges3d.h,v $
50 
51 #ifndef BeamColumnWithSectionFDTrf3d_h
52 #define BeamColumnWithSectionFDTrf3d_h
53 
54 #include <domain/mesh/element/truss_beam_column/BeamColumnWithSectionFD.h>
55 
56 namespace XC {
57 class Node;
58 
59 class CrdTransf;
60 class CrdTransf3d;
61 
63 //
66  {
68  protected:
69  CrdTransf3d *theCoordTransf;
70 
71  int sendData(CommParameters &cp);
72  int recvData(const CommParameters &cp);
73 
74  void set_transf(const CrdTransf *trf);
75  public:
76  BeamColumnWithSectionFDTrf3d(int tag,int classTag,int numSec);
77  BeamColumnWithSectionFDTrf3d(int tag,int classTag,int numSec,const Material *mat,const CrdTransf *trf);
78  BeamColumnWithSectionFDTrf3d(int tag, int classTag,int numSec, int nodeI, int nodeJ,CrdTransf3d &coordTransf);
81  void initialize_trf(void);
82  virtual CrdTransf *getCoordTransf(void);
83  virtual const CrdTransf *getCoordTransf(void) const;
84 
85  Vector getVDirStrongAxisLocalCoord(const size_t &i) const;
86  Vector getVDirWeakAxisLocalCoord(const size_t &i) const;
87  double getStrongAxisAngle(const size_t &i) const;
88  double getWeakAxisAngle(const size_t &i) const;
89  const Vector &getVDirStrongAxisGlobalCoord(const size_t &i) const;
90  const Vector &getVDirWeakAxisGlobalCoord(const size_t &i) const;
91  };
92 } // end of XC namespace
93 
94 #endif
CrdTransf provides the abstraction of a frame coordinate transformation. It is an abstract base class...
Definition: CrdTransf.h:87
Base class for materials.
Definition: Material.h:85
double getStrongAxisAngle(const size_t &i) const
Returns the angle between i-th cross section strong axis and the local XZ plane.
Definition: BeamColumnWithSectionFDTrf3d.cc:152
Definition: Vector.h:82
const Vector & getVDirStrongAxisGlobalCoord(const size_t &i) const
Returns i-th cross section strong axis direction vector expressed in global coordinates.
Definition: BeamColumnWithSectionFDTrf3d.cc:167
const Vector & getVDirWeakAxisGlobalCoord(const size_t &i) const
Returns i-th cross section weak axis direction vector expressed in global coordinates.
Definition: BeamColumnWithSectionFDTrf3d.cc:183
int recvData(const CommParameters &cp)
Receives members through the channel being passed as parameter.
Definition: BeamColumnWithSectionFDTrf3d.cc:207
int sendData(CommParameters &cp)
Send members through the channel being passed as parameter.
Definition: BeamColumnWithSectionFDTrf3d.cc:199
virtual CrdTransf * getCoordTransf(void)
Returns (if possible) a pointer to the coordinate transformation.
Definition: BeamColumnWithSectionFDTrf3d.cc:102
Base class for 3D coordinate transformation.
Definition: CrdTransf3d.h:80
Vector getVDirStrongAxisLocalCoord(const size_t &i) const
Returns i-th cross section strong axis direction vector expressed in local coordinates.
Definition: BeamColumnWithSectionFDTrf3d.cc:110
3D beam colun element with SeccionBarraPrismatica material type.
Definition: BeamColumnWithSectionFDTrf3d.h:65
Vector getVDirWeakAxisLocalCoord(const size_t &i) const
Returns i-th cross section weak axis direction vector expressed in local coordinates.
Definition: BeamColumnWithSectionFDTrf3d.cc:130
Beam-column element with SeccionBarraPrismatica material.
Definition: BeamColumnWithSectionFD.h:42
~BeamColumnWithSectionFDTrf3d(void)
Destructor.
Definition: BeamColumnWithSectionFDTrf3d.cc:86
double getWeakAxisAngle(const size_t &i) const
Returns the angle between i-th cross section weak axis and the local XZ plane.
Definition: BeamColumnWithSectionFDTrf3d.cc:160
Communication parameters between processes.
Definition: CommParameters.h:65
================================================================================
Definition: ContinuaReprComponent.h:34