XC Open source finite element analysis program
ElementBodyLoad.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 
28 #ifndef ElementBodyLoad_h
29 #define ElementBodyLoad_h
30 
31 #include "ElementalLoad.h"
32 #include "ElementPtrs.h"
33 
34 namespace XC {
35 class Element;
36  class ID;
37  class Vector;
38 
39 
41 //
44  {
45  private:
46  ElementPtrs theElements;
47  protected:
48 
49  int sendData(CommParameters &cp);
50  int recvData(const CommParameters &cp);
51 
52  public:
53  ElementBodyLoad(int tag, int classTag, const ID &theElementTags);
54  ElementBodyLoad(int tag, int classTag);
55  ElementBodyLoad(int classTag);
56 
57  virtual void setDomain(Domain *theDomain);
58  virtual void applyLoad(double loadfactor);
59 
60  virtual int removeElement(int tag);
61  void Print(std::ostream &s, int flag =0) const;
62 
63 
64 
65  };
66 } // end of XC namespace
67 
68 #endif
69 
void Print(std::ostream &s, int flag=0) const
Imprime el objeto.
Definition: ElementBodyLoad.cc:83
int sendData(CommParameters &cp)
Send data through the channel being passed as parameter.
Definition: ElementBodyLoad.cc:89
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:98
int recvData(const CommParameters &cp)
Receive data through the channel being passed as parameter.
Definition: ElementBodyLoad.cc:96
Pointers to the elements affected by the load.
Definition: ElementPtrs.h:43
Base class for loads over elements.
Definition: ElementalLoad.h:73
Definition: ID.h:77
Base class for body loads over elements.
Definition: ElementBodyLoad.h:43
virtual int removeElement(int tag)
Removes the element from those affected by the load. If it fails returns -1.
Definition: ElementBodyLoad.cc:71
Communication parameters between processes.
Definition: CommParameters.h:65
================================================================================
Definition: ContinuaReprComponent.h:34
virtual void setDomain(Domain *theDomain)
Asigna a pointer al domain.
Definition: ElementBodyLoad.cc:53