29 #ifndef LOADCOMBINATION_H 30 #define LOADCOMBINATION_H 32 #include "domain/component/ForceReprComponent.h" 35 class MapLoadPatterns;
38 class LoadCombinationGroup;
46 class summand:
public CommandEntity
53 summand(
const float &f= 1.0,
LoadPattern *lp=
nullptr);
55 const float &Factor(
void)
const;
60 summand getNeg(
void)
const;
61 const summand &
add(
const summand &);
62 const summand &
substract(
const summand &);
64 const summand &
divide(
const float &);
67 void Print(std::ostream &os)
const;
72 typedef TDescomp::iterator iterator;
73 typedef TDescomp::const_iterator const_iterator;
78 static std::map<int,std::string> map_str_descomp;
80 void set_gamma_f(
void);
92 {
return descomp.begin(); }
94 {
return descomp.end(); }
107 inline void setNombre(
const std::string &nmb)
119 inline const std::string &getName(
void)
const 122 inline void setDescomp(
const std::string &descomp)
128 const_iterator begin(
void)
const 129 {
return descomp.begin(); }
130 const_iterator end(
void)
const 131 {
return descomp.end(); }
132 size_t size(
void)
const 133 {
return descomp.size(); }
134 bool empty(
void)
const 135 {
return descomp.empty(); }
169 std::string
getString(
const std::string &fmt=
"")
const;
170 virtual void Print(std::ostream &s,
int flag =0)
const;
LoadCombination & asigna(const std::string &)
Assigns the combination identified by the name being passed as parameter.
Definition: LoadCombination.cc:510
virtual void Print(std::ostream &s, int flag=0) const
Imprime.
Definition: LoadCombination.cc:679
LoadCombination & substract(const LoadCombination &)
Substracts the combination being passed as parameter.
Definition: LoadCombination.cc:485
Load combination container.
Definition: LoadCombinationGroup.h:46
const std::string getNombreCombPrevia(void) const
Returns, if possible, the name of the "previous" combination.
Definition: LoadCombination.cc:336
void limpia_ceros(void)
Deletes the null weighted load combinations.
Definition: LoadCombination.cc:307
Base class for components that represent forces.
Definition: ForceReprComponent.h:37
LoadCombination operator+(const LoadCombination &) const
Addition operator.
Definition: LoadCombination.cc:546
const_iterator buscaCaso(const LoadPattern *) const
Returns a const iterator pointing to the load pattern being passed as parameter.
Definition: LoadCombination.cc:277
Vector that stores the dbTags of the class members.
Definition: DbTagData.h:43
FEM_ObjectBroker is is an object broker class for the finite element method.
Definition: FEM_ObjectBroker.h:145
int sendData(CommParameters &cp)
Send members through the channel being passed as parameter.
Definition: LoadCombination.cc:395
std::string getString(const std::string &fmt="") const
Returns a string that represents the load combination «1.35*G1+0.90*G1».
Definition: LoadCombination.cc:663
~LoadCombination(void)
Destructor.
Definition: LoadCombination.cc:148
A LoadPattern object is used to to store reference loads and single point constraints and a TimeSerie...
Definition: LoadPattern.h:93
LoadCombination(LoadCombinationGroup *owr=nullptr, const std::string &nmb="", int tag=0, LoadHandler *ll=nullptr)
Constructor.
Definition: LoadCombination.cc:143
float getCoefCaso(const LoadPattern *) const
Returns the weighting factor for the load case being passed as parameter.
Definition: LoadCombination.cc:579
int recvData(const CommParameters &cp)
Receives members through the channel being passed as parameter.
Definition: LoadCombination.cc:404
void clear(void)
Deletes the components of the load combination.
Definition: LoadCombination.cc:303
void add_component(const summand &)
Adds a component to the combination.
Definition: LoadCombination.cc:228
void set_domain(void)
Assigns the domain to each domain.
Definition: LoadCombination.cc:166
LoadCombination operator*(const float &) const
Product by a number operator.
Definition: LoadCombination.cc:562
int sendSelf(CommParameters &)
Sends object through the channel being passed as parameter.
Definition: LoadCombination.cc:432
std::deque< summand > TDescomp
Container type for the combination expression (1.5*PP+1.0*CP+1.6*SC ...).
Definition: LoadCombination.h:71
const LoadCombination * getPtrCombPrevia(void) const
Returns, if possible, a pointer to the "previous" combination.
Definition: LoadCombination.cc:326
bool addToDomain(void)
Adds to the domain being passed as parameter each of the load cases of the combination.
Definition: LoadCombination.cc:182
bool dominaA(const LoadCombination &otra) const
Returns true if the factors that weight all the load patterns of this load combination are greater th...
Definition: LoadCombination.cc:625
LoadCombination operator-(const LoadCombination &) const
Substraction operator.
Definition: LoadCombination.cc:554
void removeFromDomain(void)
Removes from the domain being passed as parameter the load cases of the combination.
Definition: LoadCombination.cc:212
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
Load pattern container.
Definition: MapLoadPatterns.h:45
const std::string getDescompCombPrevia(void) const
Returns, if possible, the decomposition of the "previous" combination.
Definition: LoadCombination.cc:356
int recvDescomp(void)
Returns the combination decomposition (it must be called only after setting un the object's owner and...
Definition: LoadCombination.cc:420
Communication parameters between processes.
Definition: CommParameters.h:65
LoadCombination & multiplica(const float &)
Multiplies the combination by the number being passed as parameter.
Definition: LoadCombination.cc:526
Lee load patterns desde archivo.
Definition: LoadHandler.h:44
const LoadCombinationGroup * getGroup(void) const
Returns the group to wich the combination belongs.
Definition: LoadCombination.cc:317
Load pattern combination (1.5*PP+1.0*CP+1.6*SC ...).
Definition: LoadCombination.h:43
void interpreta_descomp(const std::string &str)
Computes the combination from the string being passed as parameter.
Definition: LoadCombination.cc:242
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:116
virtual void setDomain(Domain *theDomain)
Sets the pointer to the domain.
LoadCombination & divide(const float &)
Divides the combination by the number being passed as parameter.
Definition: LoadCombination.cc:538
LoadCombination & add(const LoadCombination &)
Sums the combination being passed as parameter.
Definition: LoadCombination.cc:459
int recvSelf(const CommParameters &)
Receives object through the channel being passed as parameter.
Definition: LoadCombination.cc:445
int getTagCombPrevia(void) const
Returns, if possible, the tag of the "previous" combination.
Definition: LoadCombination.cc:346
DbTagData & getDbTagData(void) const
Returns a vector to store the dbTags de los miembros of the clase.
Definition: LoadCombination.cc:388
const std::string getDescompRestoSobrePrevia(void) const
Returns, si puede, la diferencia entre esta y la previa.
Definition: LoadCombination.cc:366
LoadCombination operator/(const float &) const
Division by a number operator.
Definition: LoadCombination.cc:570