XC Open source finite element analysis program
LoadCombinationGroup.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 //LoadCombinationGroup.h
28 
29 #ifndef LOADCOMBINATIONGROUP_H
30 #define LOADCOMBINATIONGROUP_H
31 
32 #include "preprocessor/loaders/LoadLoaderMember.h"
33 #include <map>
34 #include "boost/python/list.hpp"
35 
36 namespace XC {
37 class LoadCombination;
38 class LoadLoader;
39 class Domain;
40 
41 typedef std::map<std::string,LoadCombination *> LoadCombinationMap;
42 
44 //
46 class LoadCombinationGroup: public LoadLoaderMember, public LoadCombinationMap
47  {
48  protected:
49  LoadCombination *find_combination(const std::string &);
50  friend class LoadLoader;
51 
52  DbTagData &getDbTagData(void) const;
53  int sendData(CommParameters &cp);
54  int recvData(const CommParameters &cp);
55 
56  public:
59 
60  boost::python::list getKeys(void) const;
61  void remove(const std::string &);
62  void clear(void);
63 
64  XC::LoadCombination *newLoadCombination(const std::string &,const std::string &);
65 
66  void addToDomain(const std::string &);
67  void removeFromDomain(const std::string &);
68  void removeAllFromDomain(void);
69 
70  std::deque<std::string> getListaNombres(void) const;
71  const std::string &getNombreLoadCombination(const LoadCombination *) const;
72 
73  const LoadCombination *buscaLoadCombination(const std::string &) const;
74  const_iterator buscaCombPrevia(const LoadCombination &) const;
75  const LoadCombination *getPtrCombPrevia(const LoadCombination &) const;
76  const_iterator buscaCombPrevia(const std::string &) const;
77  const std::string getNombreCombPrevia(const std::string &) const;
78  int getTagCombPrevia(const std::string &) const;
79 
80  int sendSelf(CommParameters &);
81  int recvSelf(const CommParameters &);
82  };
83 
84 } // end of XC namespace
85 
86 #endif
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
const std::string & getNombreLoadCombination(const LoadCombination *) const
Returns the name of the load combination pointed by the parameter.
Definition: LoadCombinationGroup.cc:69
int recvSelf(const CommParameters &)
Receives object through the channel being passed as parameter.
Definition: LoadCombinationGroup.cc:223
LoadCombination * find_combination(const std::string &)
Returns a pointer to the load combination identified by the name being passed as parameter.
Definition: LoadCombinationGroup.cc:48
Load pattern combination (1.5*PP+1.0*CP+1.6*SC ...).
Definition: LoadCombination.h:43
const LoadCombination * buscaLoadCombination(const std::string &) const
Returns a pointer to the load combination identified by the name being passed as parameter.
Definition: LoadCombinationGroup.cc:59
const_iterator buscaCombPrevia(const LoadCombination &) const
Search for the nearest combination to the one being passed as parameter from those that have their fa...
Definition: LoadCombinationGroup.cc:251
void removeAllFromDomain(void)
Remomves all the load combinations from the domain.
Definition: LoadCombinationGroup.cc:127
DbTagData & getDbTagData(void) const
Returns a vector para almacenar los dbTags de los miembros de la clase.
Definition: LoadCombinationGroup.cc:185
void clear(void)
Deletes all the combinations.
Definition: LoadCombinationGroup.cc:168
LoadCombinationGroup(LoadLoader *owr)
Default constructor.
Definition: LoadCombinationGroup.cc:42
int recvData(const CommParameters &cp)
Send members through the channel being passed as parameter.
Definition: LoadCombinationGroup.cc:196
Load combination container.
Definition: LoadCombinationGroup.h:46
void addToDomain(const std::string &)
Adds the combination to the domain.
Definition: LoadCombinationGroup.cc:103
int sendData(CommParameters &cp)
Send members through the channel being passed as parameter.
Definition: LoadCombinationGroup.cc:192
??.
Definition: LoadLoaderMember.h:42
~LoadCombinationGroup(void)
Destructor.
Definition: LoadCombinationGroup.cc:180
Lee load patterns desde archivo. Load definition manager.
Definition: LoadLoader.h:44
Communication parameters between processes.
Definition: CommParameters.h:65
std::map< std::string, LoadCombination * > LoadCombinationMap
LoadCombinations.
Definition: LoadCombinationGroup.h:39
================================================================================
Definition: ContinuaReprComponent.h:34
int sendSelf(CommParameters &)
Sends object through the channel being passed as parameter.
Definition: LoadCombinationGroup.cc:210
boost::python::list getKeys(void) const
Returns container&#39;s keys.
Definition: LoadCombinationGroup.cc:159
void removeFromDomain(const std::string &)
Removes the combination from the domain.
Definition: LoadCombinationGroup.cc:115