XC Open source finite element analysis program
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  int getType(void);
50  inline const double &Wx(void) const
51  { return Axial1; }
52  inline const double &Wy(void) const
53  { return Axial2; }
54  inline const double &Wz(void) const
55  { return Trans; }
56 
57  size_t getDimVectorFuerza(void) const;
58  size_t getDimVectorMomento(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 SVD3d 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 
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
void addFixedEndForcesInBasicSystem(const double &, const double &loadFactor, FVectorShell &) const
??
Definition: ShellUniformLoad.cc:135
size_t getDimVectorFuerza(void) const
Return the dimension del vector fuerza.
Definition: ShellUniformLoad.cc:57
Definition: Vector.h:82
Vector que almacena los dbTags de los miembros de la clase.
Definition: DbTagData.h:43
virtual const Matrix & getGlobalMoments(void) const
Returns the momento expresado en coordenadas globales.
Definition: ShellMecLoad.cc:167
virtual SVD3d getResultant(const Pos3d &p=Pos3d(), bool initialGeometry=true) const
brief Returns load resultant (force and moment integration over the elements).
Definition: ShellUniformLoad.cc:141
size_t getDimVectorMomento(void) const
Return the dimension del vector momento.
Definition: ShellUniformLoad.cc:61
void addReactionsInBasicSystem(const double &, const double &, FVectorShell &) const
Adds the load al consistent load vector (ver página 108 libro Eugenio Oñate).
Definition: ShellUniformLoad.cc:98
double Axial2
Axial load on axis 2.
Definition: BidimMecLoad.h:48
const Matrix & getGlobalPressures(void) const
Returns pressure vectors (one for each element) expressed in global coordinates. Is simply a convenie...
Definition: ShellUniformLoad.h:72
Ingernal forces for a shell element.
Definition: FVectorShell.h:40
Mechanical load (forces) over shell elements.
Definition: ShellMecLoad.h:41
double Axial1
Axial load on axis 1.
Definition: BidimMecLoad.h:47
Definition: ID.h:77
Uniform load over shell elements.
Definition: ShellUniformLoad.h:39
const Matrix & getLocalPressures(void) const
Returns pressure vectors (one for each element) expressed in elemnt local coordinates. Is simply a convenience function that makes the distributedness more explicit.
Definition: ShellUniformLoad.h:66
void Print(std::ostream &s, int flag=0)
Imprime el objeto.
Definition: ShellUniformLoad.cc:202
Definition: Matrix.h:82
virtual const Matrix & getGlobalForces(void) const
Return the fuerza expresada en coordenadas globales.
Definition: ShellMecLoad.cc:163
const Matrix & getLocalMoments(void) const
Returns the componentes de los vectores momento.
Definition: ShellUniformLoad.cc:80
const Matrix & getLocalForces(void) const
Returns the componentes de los vectores fuerza.
Definition: ShellUniformLoad.cc:65
DbTagData & getDbTagData(void) const
Returns a vector para almacenar los dbTags de los miembros de la clase.
Definition: ShellUniformLoad.cc:171
Communication parameters between processes.
Definition: CommParameters.h:65
================================================================================
Definition: ContinuaReprComponent.h:34
double Trans
Transverse load.
Definition: BidimMecLoad.h:46
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