xc
ShellUniformLoad.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 //ShellUniformLoad.h
28 
29 #ifndef ShellUniformLoad_h
30 #define ShellUniformLoad_h
31 
32 #include "ShellMecLoad.h"
33 
34 namespace XC {
35 
37 //
40  {
41  protected:
42  DbTagData &getDbTagData(void) const;
43  public:
44  ShellUniformLoad(int tag,const double &,const double &,const double &,const ID &theElementTags);
45  ShellUniformLoad(int tag, const Vector &Fxyz, const ID &theElementTags);
46  ShellUniformLoad(int tag= 0);
47 
48  std::string Categoria(void) const;
49  inline const double &Wx(void) const
50  { return Axial1; }
51  inline const double &Wy(void) const
52  { return Axial2; }
53  inline const double &Wz(void) const
54  { return Trans; }
55  const Vector &getData(int &type, const double &loadFactor) const;
56 
57  size_t getForceVectorDimension(void) const;
58  size_t getMomentVectorDimension(void) const;
59  const Matrix &getLocalForces(void) const;
60  const Matrix &getLocalMoments(void) const;
61 
62  void addReactionsInBasicSystem(const double &,const double &,FVectorShell &) const;
63  void addFixedEndForcesInBasicSystem(const double &,const double &loadFactor,FVectorShell &) const;
64 
66  inline const Matrix &getLocalPressures(void) const
67  { return getLocalForces(); }
69  inline const Matrix &getDistributedLocalMoments(void) const
70  { return getLocalMoments(); }
72  inline const Matrix &getGlobalPressures(void) const
73  { return getGlobalForces(); }
75  inline const Matrix &getDistributedGlobalMoments(void) const
76  { return getGlobalMoments(); }
77 
78  virtual SlidingVectorsSystem3d getResultant(const Pos3d &p= Pos3d(), bool initialGeometry= true) const;
79 
80  int sendSelf(CommParameters &);
81  int recvSelf(const CommParameters &);
82  void Print(std::ostream &s, int flag =0);
83 
84  };
85 } // end of XC namespace
86 
87 #endif
88 
size_t getMomentVectorDimension(void) const
Return the dimension of the moment vector.
Definition: ShellUniformLoad.cc:58
Float vector abstraction.
Definition: Vector.h:93
const Matrix & getDistributedLocalMoments(void) const
Returns distributed moments (one for each element) expressed in element local coordinates. Is simply a convenience function that makes the distributedness more explicit.
Definition: ShellUniformLoad.h:69
void Print(std::ostream &s, int flag=0)
Print stuff.
Definition: ShellUniformLoad.cc:210
Vector that stores the dbTags of the class members.
Definition: DbTagData.h:43
virtual const Matrix & getGlobalMoments(void) const
Returns the bending moment expressed in global coordinates.
Definition: ShellMecLoad.cc:169
Vector of integers.
Definition: ID.h:93
const Matrix & getLocalPressures(void) const
Returns pressure vectors (one for each element) expressed in element local coordinates. Is simply a convenience function that makes the distributedness more explicit.
Definition: ShellUniformLoad.h:66
int sendSelf(CommParameters &)
Send the object.
Definition: ShellUniformLoad.cc:184
double Axial1
Axial load on axis 1.
Definition: BidimMecLoad.h:47
virtual const Matrix & getGlobalForces(void) const
Return the force expressed in global coordinates.
Definition: ShellMecLoad.cc:165
DbTagData & getDbTagData(void) const
Returns a vector to store the dbTags of the class members.
Definition: ShellUniformLoad.cc:178
void addFixedEndForcesInBasicSystem(const double &, const double &loadFactor, FVectorShell &) const
??
Definition: ShellUniformLoad.cc:142
Ingernal forces for a shell element.
Definition: FVectorShell.h:40
const Matrix & getDistributedGlobalMoments(void) const
Returns distributed moments (one for each element) expressed in global coordinates. Is simply a convenience function that makes the distributedness more explicit.
Definition: ShellUniformLoad.h:75
int recvSelf(const CommParameters &)
Receive the object.
Definition: ShellUniformLoad.cc:197
Mechanical load (forces) over shell elements.
Definition: ShellMecLoad.h:41
void addReactionsInBasicSystem(const double &, const double &, FVectorShell &) const
Adds the load al consistent load vector (see page 108 libro Eugenio Oñate).
Definition: ShellUniformLoad.cc:105
virtual SlidingVectorsSystem3d getResultant(const Pos3d &p=Pos3d(), bool initialGeometry=true) const
brief Returns load resultant (force and moment integration over the elements).
Definition: ShellUniformLoad.cc:148
const Matrix & getGlobalPressures(void) const
Returns pressure vectors (one for each element) expressed in global coordinates. Is simply a convenie...
Definition: ShellUniformLoad.h:72
const Matrix & getLocalForces(void) const
Returns the components of the force vectors.
Definition: ShellUniformLoad.cc:62
double Trans
Transverse load.
Definition: BidimMecLoad.h:46
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
const Matrix & getLocalMoments(void) const
Returns the components of the moment vectors.
Definition: ShellUniformLoad.cc:77
Communication parameters between processes.
Definition: CommParameters.h:65
Matrix of floats.
Definition: Matrix.h:108
Uniform load over shell elements.
Definition: ShellUniformLoad.h:39
double Axial2
Axial load on axis 2.
Definition: BidimMecLoad.h:48
size_t getForceVectorDimension(void) const
Return the dimension of the force vector.
Definition: ShellUniformLoad.cc:54