XC Open source finite element analysis program
ShellCorotCrdTransf3d.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 //ShellCorotCrdTransf3d.h
28 
29 #ifndef ShellCorotCrdTransf3d_h
30 #define ShellCorotCrdTransf3d_h
31 
32 #include "ShellCrdTransf3dBase.h"
33 
34 namespace XC {
35 
37 //
40  {
41  protected:
42  Vector v130;
43  Vector v240;
44 
48 
52 
53  Vector global_to_local(const Vector &,const Vector &) const;
54  Vector global_to_local_disp_nod(const int &) const;
55  Vector global_to_local_vel_nod(const int &) const;
56  Vector global_to_local_accel_nod(const int &) const;
57  Vector local_to_global(const Matrix &,const Matrix &,const Vector &) const;
58  Matrix local_to_global(const Matrix &,const Matrix &,const Matrix &) const;
59  const Vector &local_to_global_resisting_force(const Vector &pl) const;
60  public:
62  ShellCorotCrdTransf3d(const Vector &,const Vector &,const Vector &);
64  virtual ShellCrdTransf3dBase *getCopy(void) const;
65 
67  inline const Vector &G1trial(void) const
68  { return g1trial; }
70  inline const Vector &G2trial(void) const
71  { return g2trial; }
73  inline const Vector &G3trial(void) const
74  { return g3trial; }
75 
76  Matrix getR0(void) const;
77  Matrix getR(void) const;
78  Matrix getR0T(void) const;
79 
80  virtual int initialize(const NodePtrs &);
81  virtual int update(void);
82 
83  virtual int commitState(void);
84  virtual int revertToLastCommit(void);
85  virtual int revertToStart(void);
86 
87  virtual Vector getBasicTrialDisp(const int &) const;
88  virtual Vector getBasicTrialVel(const int &) const;
89  virtual Vector getBasicTrialAccel(const int &) const;
90 
91  void getGlobalTangent(Matrix &stiff) const;
92  void getGlobalResidAndTangent(Vector &resid,Matrix &stiff) const;
93  virtual const Vector &getGlobalResistingForce(const Vector &p0) const;
94 
95  int sendSelf(CommParameters &);
96  int recvSelf(const CommParameters &);
97 
98  };
99 
100 } // end of XC namespace
101 
102 #endif
Vector global_to_local_accel_nod(const int &) const
Returns the i-th node translational components of its acceleration vector expressed in local coordina...
Definition: ShellCorotCrdTransf3d.cc:178
Vector global_to_local_disp_nod(const int &) const
Returns the i-th node translation vector expressed in local coordinates.
Definition: ShellCorotCrdTransf3d.cc:160
Vector local_to_global(const Matrix &, const Matrix &, const Vector &) const
Returns the global coordinates of the displacement vector.
Definition: ShellCorotCrdTransf3d.cc:240
Vector g1commit
Vector 1 of the reference trihedron.
Definition: ShellCorotCrdTransf3d.h:49
Definition: Vector.h:82
virtual ShellCrdTransf3dBase * getCopy(void) const
Virtual constructor.
Definition: ShellCorotCrdTransf3d.cc:55
Base class for 3D coordinate transformation.
Definition: ShellCorotCrdTransf3d.h:39
const Vector & G1trial(void) const
Returns the eje 1 local (contenido in the plane of the element)
Definition: ShellCorotCrdTransf3d.h:67
int sendSelf(CommParameters &)
Envia el objeto through the channel being passed as parameter.
Definition: ShellCorotCrdTransf3d.cc:390
virtual int commitState(void)
Consuma la coordinate transformation de acuerdo con el estado actual.
Definition: ShellCorotCrdTransf3d.cc:199
void getGlobalTangent(Matrix &stiff) const
Return the tangent stiffness matrix expresada en globales.
Definition: ShellCorotCrdTransf3d.cc:365
virtual int initialize(const NodePtrs &)
Sets the transformations from node positions.
Definition: ShellCorotCrdTransf3d.cc:59
Vector g2trial
Vector 2 of the reference trihedron.
Definition: ShellCorotCrdTransf3d.h:46
Matrix getR(void) const
Returns the transformation matrix corresponding to element current configuration. ...
Definition: ShellCorotCrdTransf3d.cc:128
const Vector & G2trial(void) const
Returns the eje 2 local (contenido in the plane of the element)
Definition: ShellCorotCrdTransf3d.h:70
virtual Vector getBasicTrialDisp(const int &) const
Returns the vector de desplazamientos expresado en el sistema básico.
Definition: ShellCorotCrdTransf3d.cc:227
virtual int update(void)
Updates the transformation from current node positions.
Definition: ShellCorotCrdTransf3d.cc:89
virtual int revertToLastCommit(void)
Returns to the last commited state.
Definition: ShellCorotCrdTransf3d.cc:209
virtual const Vector & getGlobalResistingForce(const Vector &p0) const
Returns the load vector expresado en el sistema global of the element.
Definition: ShellCorotCrdTransf3d.cc:386
Vector g3trial
Vector 3 of the reference trihedron.
Definition: ShellCorotCrdTransf3d.h:47
Pointers to nodes.
Definition: NodePtrs.h:54
void getGlobalResidAndTangent(Vector &resid, Matrix &stiff) const
Returns the unbalanced vector expresado en globales.
Definition: ShellCorotCrdTransf3d.cc:373
Definition: Matrix.h:82
int recvSelf(const CommParameters &)
Receives object through the channel being passed as parameter.
Definition: ShellCorotCrdTransf3d.cc:404
Vector g3commit
Vector 3 of the reference trihedron.
Definition: ShellCorotCrdTransf3d.h:51
const Vector & G3trial(void) const
Returns the eje 3 local (normal al plano of the element)
Definition: ShellCorotCrdTransf3d.h:73
Matrix getR0T(void) const
Returns the transposed of the transformation matrix corresponding to element initial configuration...
Definition: ShellCorotCrdTransf3d.cc:116
Vector global_to_local_vel_nod(const int &) const
Returns the i-th node translational components of its velocity vector expressed in global coordinates...
Definition: ShellCorotCrdTransf3d.cc:169
Vector g1trial
Vector 1 of the reference trihedron.
Definition: ShellCorotCrdTransf3d.h:45
Vector g2commit
Vector 2 of the reference trihedron.
Definition: ShellCorotCrdTransf3d.h:50
virtual Vector getBasicTrialAccel(const int &) const
Returns the vector de aceleraciones expresado en el sistema básico.
Definition: ShellCorotCrdTransf3d.cc:235
Matrix getR0(void) const
Returns the transformation matrix corresponding to element initial configuration. ...
Definition: ShellCorotCrdTransf3d.cc:111
Vector global_to_local(const Vector &, const Vector &) const
Returns the vector expresado en coordinates locales a partir del desplazamiento expresado en globales...
Definition: ShellCorotCrdTransf3d.cc:140
Communication parameters between processes.
Definition: CommParameters.h:65
================================================================================
Definition: ContinuaReprComponent.h:34
ShellCorotCrdTransf3d(void)
Default constructor.
Definition: ShellCorotCrdTransf3d.cc:41
Base class for 3D coordinate transformations.
Definition: ShellCrdTransf3dBase.h:48
const Vector & local_to_global_resisting_force(const Vector &pl) const
Returns the global coordinates of the load vector.
Definition: ShellCorotCrdTransf3d.cc:187
virtual int revertToStart(void)
Returns to the initial state.
Definition: ShellCorotCrdTransf3d.cc:219