XC Open source finite element analysis program
BidimMecLoad.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 //BidimMecLoad.h
28 
29 #ifndef BidimMecLoad_h
30 #define BidimMecLoad_h
31 
32 
33 #include "BidimLoad.h"
34 #include "xc_utils/src/geom/pos_vec/Pos3d.h"
35 class SVD3d;
36 
37 namespace XC {
38 class Matrix;
39 
41 //
43 class BidimMecLoad : public BidimLoad
44  {
45  protected:
46  double Trans;
47  double Axial1;
48  double Axial2;
49 
50  int sendData(CommParameters &cp);
51  int recvData(const CommParameters &cp);
52 
53  public:
54  BidimMecLoad(int tag, int classTag,const double &Trans,const double &,const double &,const ID &theElementTags);
55  BidimMecLoad(int tag, int classTag);
56 
57  inline double getAxial1Component(void)
58  { return Axial1; }
59  inline void setAxial1Component(const double &d)
60  { Axial1= d; }
61  inline double getAxial2Component(void)
62  { return Axial2; }
63  inline void setAxial2Component(const double &d)
64  { Axial2= d; }
65  inline double getTransComponent(void)
66  { return Trans; }
67  inline void setTransComponent(const double &d)
68  { Trans= d; }
69 
70  virtual SVD3d getResultant(const Pos3d &p= Pos3d(), bool initialGeometry= true) const;
71 
72  void Print(std::ostream &s, int flag =0) const;
73 
74  };
75 } // end of XC namespace
76 
77 #endif
78 
int recvData(const CommParameters &cp)
Receive data through the channel being passed as parameter.
Definition: BidimMecLoad.cc:71
int sendData(CommParameters &cp)
Send data through the channel being passed as parameter.
Definition: BidimMecLoad.cc:63
virtual SVD3d getResultant(const Pos3d &p=Pos3d(), bool initialGeometry=true) const
brief Returns load resultant (force and moment integration over the elements).
Definition: BidimMecLoad.cc:55
Load over bidimensional elements.
Definition: BidimLoad.h:40
double Axial2
Axial load on axis 2.
Definition: BidimMecLoad.h:48
double Axial1
Axial load on axis 1.
Definition: BidimMecLoad.h:47
Definition: ID.h:77
Mechanical load (forces) over bidimensional elements.
Definition: BidimMecLoad.h:43
Communication parameters between processes.
Definition: CommParameters.h:65
================================================================================
Definition: ContinuaReprComponent.h:34
double Trans
Transverse load.
Definition: BidimMecLoad.h:46