XC Open source finite element analysis program
Element0D.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 //Element0D.h
28 
29 #ifndef Element0D_h
30 #define Element0D_h
31 
32 #include <domain/mesh/element/ElementBase.h>
33 #include <utility/matrix/Matrix.h>
34 
35 class SisCooRect3d3d;
36 
37 namespace XC {
38 class Node;
39 class Material;
40 
42 //
45 class Element0D : public ElementBase<2>
46  {
47  protected:
48  static const double LenTol;
49  class Vxy: public EntCmd
50  {
51  Vector x,y;
52  public:
53  Vxy(void);
54  Vxy(const Vector &,const Vector &);
55  inline const Vector &getX(void)
56  { return x; }
57  inline const Vector &getY(void)
58  { return y; }
59  bool check(void) const;
60  };
61  int dimension;
62  int numDOF;
64 
65  virtual void setUp(int Nd1, int Nd2,const Vector &x,const Vector &y);
66  TritrizPtrElem cose(const SetEstruct &f1,const SetEstruct &f2) const;
67 
68  int sendData(CommParameters &cp);
69  int recvData(const CommParameters &cp);
70  public:
71  Element0D(int tag, int classTag,int Nd1,int Nd2);
72  Element0D(int tag, int classTag,int Nd1,int Nd2, int dim);
73  Element0D(int tag, int classTag,int Nd1,int Nd2, int dim, const Vector &, const Vector &);
74  int getNumDOF(void) const;
75  size_t getDimension(void) const;
76  int getVtkCellType(void) const;
77  int getMEDCellType(void) const;
78  const Vector &getX(void) const;
79  const Vector &getY(void) const;
80  const Vector &getZ(void) const;
81  Matrix getLocalAxes(bool) const;
82  SisCooRect3d3d getSisCoo(void) const;
83  inline virtual const Matrix &getTransformation(void) const
84  { return transformation; }
85 
86  virtual void setUpVectors(const Vector &, const Vector &);
87  };
88 
89 
90 } //end of XC namespace
91 #endif
int getVtkCellType(void) const
Interfaz con VTK.
Definition: Element0D.cc:389
int getMEDCellType(void) const
Interfaz con el formato MED de Salome.
Definition: Element0D.cc:393
int recvData(const CommParameters &cp)
Receives members through the channel being passed as parameter.
Definition: Element0D.cc:380
"Tritriz" of pointers to elements.
Definition: TritrizPtrElem.h:43
Definition: Vector.h:82
int dimension
= 2 or 3 dimensions
Definition: Element0D.h:61
virtual void setUpVectors(const Vector &, const Vector &)
Set up the transformation matrix for orientation.
Definition: Element0D.cc:172
const Vector & getZ(void) const
Returns the direction vector of local Z axis (third row of the transformation).
Definition: Element0D.cc:140
Matrix getLocalAxes(bool) const
Returs a matrix with the axes of the element as matrix rows [[x1,y1,z1],[x2,y2,z2],...·].
Definition: Element0D.cc:151
bool check(void) const
Chequea los vectores.
Definition: Element0D.cc:55
size_t getDimension(void) const
Return the element dimension (0, 1, 2 o3 3).
Definition: Element0D.cc:113
Element of dimension 0 (both nodes have the same position).
Definition: Element0D.h:45
int sendData(CommParameters &cp)
Send members through the channel being passed as parameter.
Definition: Element0D.cc:371
structured set, i. e. a set that can return a pointer a to a node or an element from its indices i...
Definition: SetEstruct.h:45
int numDOF
number of dof for ZeroLengthSection
Definition: Element0D.h:62
static const double LenTol
Tolerance for zero length of element.
Definition: Element0D.h:48
Definition: Matrix.h:82
Base class for finite element with pointer to nodes container.
Definition: ElementBase.h:46
virtual void setUp(int Nd1, int Nd2, const Vector &x, const Vector &y)
Establish the external nodes and set up the transformation matrix for orientation.
Definition: Element0D.cc:214
Matrix transformation
transformation matrix for orientation
Definition: Element0D.h:63
Definition: Element0D.h:49
Communication parameters between processes.
Definition: CommParameters.h:65
================================================================================
Definition: ContinuaReprComponent.h:34
Element0D(int tag, int classTag, int Nd1, int Nd2)
Constructor.
Definition: Element0D.cc:87
SisCooRect3d3d getSisCoo(void) const
Returns the element coordinate system.
Definition: Element0D.cc:160