xc
PlateBase.h
1 // -*-c++-*-
2 //----------------------------------------------------------------------------
3 // XC program; finite element analysis code
4 // for structural analysis and design.
5 //
6 // Copyright (C) Luis C. Pérez Tato
7 //
8 // This program derives from OpenSees <http://opensees.berkeley.edu>
9 // developed by the «Pacific earthquake engineering research center».
10 //
11 // Except for the restrictions that may arise from the copyright
12 // of the original program (see copyright_opensees.txt)
13 // XC is free software: you can redistribute it and/or modify
14 // it under the terms of the GNU General Public License as published by
15 // the Free Software Foundation, either version 3 of the License, or
16 // (at your option) any later version.
17 //
18 // This software is distributed in the hope that it will be useful, but
19 // WITHOUT ANY WARRANTY; without even the implied warranty of
20 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 // GNU General Public License for more details.
22 //
23 //
24 // You should have received a copy of the GNU General Public License
25 // along with this program.
26 // If not, see <http://www.gnu.org/licenses/>.
27 //----------------------------------------------------------------------------
28 //PlateBase.h
29 
30 #ifndef PlateBase_h
31 #define PlateBase_h
32 
33 #include <utility/matrix/Vector.h>
34 #include <utility/matrix/Matrix.h>
35 
36 #include "material/section/SectionForceDeformation.h"
37 
38 
39 namespace XC {
40 
43 //
47  {
48  protected:
49  double h;
50 
51  int sendData(Communicator &);
52  int recvData(const Communicator &);
53  private:
54  double rho;
55  public:
56  PlateBase(int tag,int classTag);
57  PlateBase(int classTag);
58  PlateBase(int tag,int classTag, double h, double rho);
59 
60  double getStrain(const double &y,const double &z) const;
61 
62  inline double getH(void) const
63  { return h; }
64  inline void setH(const double &d)
65  { h= d; }
66  virtual double getRho(void) const;
67  virtual void setRho(const double &);
68  virtual double getArealRho(void) const;
69  virtual void setArealRho(const double &);
70  XC::Matrix getValues(const std::string &, bool silent) const;
71  };
72 } // end of XC namespace
73 
74 #endif
virtual double getArealRho(void) const
Return density per unit area.
Definition: PlateBase.cc:52
Base class for force deformation section models.
Definition: SectionForceDeformation.h:88
Communication parameters between processes.
Definition: Communicator.h:66
int recvData(const Communicator &)
Receive data through the communicator argument.
Definition: PlateBase.cc:100
XC::Matrix getValues(const std::string &, bool silent) const
Return values of internal forces, deformations...
Definition: PlateBase.cc:70
double getStrain(const double &y, const double &z) const
Returns strain at position being passed as parameter.
Definition: PlateBase.cc:84
virtual void setRho(const double &)
Assign material density.
Definition: PlateBase.cc:48
int sendData(Communicator &)
Send data through the communicator argument.
Definition: PlateBase.cc:92
PlateBase(int tag, int classTag)
Constructor.
Definition: PlateBase.cc:32
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
virtual void setArealRho(const double &)
Assign density per unit area.
Definition: PlateBase.cc:56
Base class for bidimensional membrane/plate/shell materials.
Definition: PlateBase.h:46
Matrix of floats.
Definition: Matrix.h:111
virtual double getRho(void) const
Return material density.
Definition: PlateBase.cc:44
double h
plate thickness
Definition: PlateBase.h:49