XC Open source finite element analysis program
BidimStrainLoad.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 //BidimStrainLoad.h
28 
29 #ifndef BidimStrainLoad_h
30 #define BidimStrainLoad_h
31 
32 #include "BidimLoad.h"
33 
34 namespace XC {
36 //
39  {
40  private:
41  std::vector<Vector> strains;
42  protected:
43  DbTagData &getDbTagData(void) const;
44  int sendData(CommParameters &cp);
45  int recvData(const CommParameters &cp);
46 
47  public:
48  BidimStrainLoad(int tag, const std::vector<Vector> &, const ID &theElementTags);
49  BidimStrainLoad(int tag, const size_t &, const Vector &, const ID &theElementTags);
50  BidimStrainLoad(int tag, const size_t &, const ID &theElementTags);
51  BidimStrainLoad(int tag, const size_t &, const Vector &);
52  BidimStrainLoad(int tag, const size_t &);
53  BidimStrainLoad(const size_t &s= 4);
54 
55  inline const std::vector<Vector> &getStrains(void) const
56  { return strains; }
57  inline std::vector<Vector> &Strains(void)
58  { return strains; }
59  inline const Vector &getStrain(const size_t &i) const
60  { return strains[i]; }
61  inline Vector &Strain(const size_t &i)
62  { return strains[i]; }
63  void setStrains(const Matrix &);
64  void setStrainComp(const size_t &,const size_t &,const double &);
65 
66 
67  int sendSelf(CommParameters &);
68  int recvSelf(const CommParameters &);
69  void Print(std::ostream &s, int flag =0) const;
70 
71  };
72 } // end of XC namespace
73 
74 #endif
75 
Definition: Vector.h:82
Vector que almacena los dbTags de los miembros de la clase.
Definition: DbTagData.h:43
int recvData(const CommParameters &cp)
Receive data through the channel being passed as parameter.
Definition: BidimStrainLoad.cc:112
void setStrainComp(const size_t &, const size_t &, const double &)
Sets the strains for a Gauss point.
Definition: BidimStrainLoad.cc:60
void setStrains(const Matrix &)
Asigna las strains.
Definition: BidimStrainLoad.cc:79
DbTagData & getDbTagData(void) const
Returns a vector para almacenar los dbTags de los miembros de la clase.
Definition: BidimStrainLoad.cc:97
Load due to restricted material expansion or contraction on bidimensional elements.
Definition: BidimStrainLoad.h:38
Load over bidimensional elements.
Definition: BidimLoad.h:40
Definition: ID.h:77
Definition: Matrix.h:82
int sendData(CommParameters &cp)
Send data through the channel being passed as parameter.
Definition: BidimStrainLoad.cc:104
Communication parameters between processes.
Definition: CommParameters.h:65
================================================================================
Definition: ContinuaReprComponent.h:34