xc
LoadHandler.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 //LoadHandler.h
28 
29 #ifndef LOADLOADER_H
30 #define LOADLOADER_H
31 
32 #include "PrepHandler.h"
33 #include "domain/load/pattern/MapLoadPatterns.h"
34 #include "domain/load/pattern/LoadCombinationGroup.h"
35 
36 namespace XC {
37 class GroundMotion;
38 class LoadCombination;
39 
44 class LoadHandler: public PrepHandler
45  {
46  typedef std::map<std::string,GroundMotion *> map_ground_motions;
47  map_ground_motions ground_motions;
48 
49  MapLoadPatterns lpatterns;
50  int tag_lp;
51 
52  LoadCombinationGroup combinations;
53 
54  protected:
55  friend class LoadCombination;
56  friend class Domain;
57 
58  DbTagData &getDbTagData(void) const;
59  int sendData(CommParameters &);
60  int recvData(const CommParameters &);
61  public:
63  ~LoadHandler(void);
64 
65  void addToDomain(const std::string &);
66  void removeFromDomain(const std::string &);
67  void removeAllFromDomain(void);
68 
69  inline int &getTagLP(void)
70  { return tag_lp; }
71  inline const int &getTagLP(void) const
72  { return tag_lp; }
73  inline void setTagLP(const int &tlp)
74  { tag_lp= tlp; }
75  MapLoadPatterns &getLoadPatterns(void)
76  { return lpatterns; }
77  const MapLoadPatterns &getLoadPatterns(void) const
78  { return lpatterns; }
79  LoadCombinationGroup &getLoadCombinations(void)
80  { return combinations; }
81  const LoadCombinationGroup &getLoadCombinations(void) const
82  { return combinations; }
83 
84  void clearAll(void);
85 
86  int sendSelf(CommParameters &);
87  int recvSelf(const CommParameters &);
88 
89  };
90 
91 } // end of XC namespace
92 
93 #endif
void addToDomain(const std::string &)
Adds the load pattern to the domain.
Definition: LoadHandler.cc:48
Load combination container.
Definition: LoadCombinationGroup.h:46
int recvData(const CommParameters &)
Send members through the channel being passed as parameter.
Definition: LoadHandler.cc:109
LoadHandler(Preprocessor *owr)
Default constructor.
Definition: LoadHandler.cc:44
Finite element model generation tools.
Definition: Preprocessor.h:58
~LoadHandler(void)
Destructor.
Definition: LoadHandler.cc:87
int recvSelf(const CommParameters &)
Receives object through the channel being passed as parameter.
Definition: LoadHandler.cc:134
Vector that stores the dbTags of the class members.
Definition: DbTagData.h:43
void clearAll(void)
Clears all the objects.
Definition: LoadHandler.cc:80
int sendData(CommParameters &)
Send members through the channel being passed as parameter.
Definition: LoadHandler.cc:99
Base class for the preprocessor objects that create model entities: nodes, elements, loads, etc.
Definition: PrepHandler.h:46
void removeFromDomain(const std::string &)
Remove load pattern from domain.
Definition: LoadHandler.cc:64
int sendSelf(CommParameters &)
Sends object through the channel being passed as parameter.
Definition: LoadHandler.cc:119
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
Load pattern container.
Definition: MapLoadPatterns.h:45
Communication parameters between processes.
Definition: CommParameters.h:65
DbTagData & getDbTagData(void) const
Returns a vector to store the dbTags of the class members.
Definition: LoadHandler.cc:92
Lee load patterns desde archivo.
Definition: LoadHandler.h:44
Load pattern combination (1.5*PP+1.0*CP+1.6*SC ...).
Definition: LoadCombination.h:43
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:116