XC Open source finite element analysis program
LoadLoader.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 //LoadLoader.h
28 
29 #ifndef LOADLOADER_H
30 #define LOADLOADER_H
31 
32 #include "Loader.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 LoadLoader: public Loader
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  ~LoadLoader(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
LoadLoader(Preprocessor *owr)
Default constructor.
Definition: LoadLoader.cc:44
~LoadLoader(void)
Destructor.
Definition: LoadLoader.cc:86
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:98
Vector que almacena los dbTags de los miembros de la clase.
Definition: DbTagData.h:43
void removeFromDomain(const std::string &)
Elimina el load pattern del domain.
Definition: LoadLoader.cc:63
int sendData(CommParameters &)
Send members through the channel being passed as parameter.
Definition: LoadLoader.cc:98
Load pattern combination (1.5*PP+1.0*CP+1.6*SC ...).
Definition: LoadCombination.h:43
DbTagData & getDbTagData(void) const
Returns a vector para almacenar los dbTags de los miembros de la clase.
Definition: LoadLoader.cc:91
Finite element model generation tools.
Definition: Preprocessor.h:58
Load pattern container.
Definition: MapLoadPatterns.h:45
Load combination container.
Definition: LoadCombinationGroup.h:46
void clearAll(void)
Clears all the objects.
Definition: LoadLoader.cc:79
int recvSelf(const CommParameters &)
Receives object through the channel being passed as parameter.
Definition: LoadLoader.cc:133
Base class for the preprocessor objects that create model entities: nodes, elements, loads, etc.
Definition: Loader.h:50
int sendSelf(CommParameters &)
Sends object through the channel being passed as parameter.
Definition: LoadLoader.cc:118
void addToDomain(const std::string &)
Adds the load patter to the domain.
Definition: LoadLoader.cc:48
int recvData(const CommParameters &)
Send members through the channel being passed as parameter.
Definition: LoadLoader.cc:108
Lee load patterns desde archivo. Load definition manager.
Definition: LoadLoader.h:44
Communication parameters between processes.
Definition: CommParameters.h:65
================================================================================
Definition: ContinuaReprComponent.h:34