xc
PartialSafetyFactors.h
1 // -*-c++-*-
2 //----------------------------------------------------------------------------
3 // xc utils library; general purpose classes and functions.
4 //
5 // Copyright (C) Luis C. Pérez Tato
6 //
7 // XC utils is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
11 //
12 // This software is distributed in the hope that it will be useful, but
13 // WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with this program.
19 // If not, see <http://www.gnu.org/licenses/>.
20 //----------------------------------------------------------------------------
21 //PartialSafetyFactors.h
22 //Partial safety factors for actions.
23 
24 
25 #ifndef PARTIALSAFETYFACTORS_HXX
26 #define PARTIALSAFETYFACTORS_HXX
27 
28 #include "utility/kernel/CommandEntity.h"
29 
30 
31 namespace cmb_acc{
32 class Variation;
33 class Variations;
34 
36 //
39  {
40  protected:
41  //Partial safety factors
44 
46 
47  friend class PartialSafetyFactors;
48  Variation Coefs(void) const;
49  public:
51  SLSPartialSafetyFactors(const float &fav=0.0,const float &desfav=1.0);
52  inline float getFavorable(void) const
53  { return partial_safety_factors_fav; }
54  inline void setFavorable(const float &f)
55  { partial_safety_factors_fav= f; }
56  inline float getDesfavorable(void) const
58  inline void setDesfavorable(const float &f)
59  { partial_safety_factors_unfav= f; }
60  virtual void Print(std::ostream &os) const;
61  };
62 
63 inline std::ostream &operator<<(std::ostream &os, const SLSPartialSafetyFactors &g)
64  {
65  g.Print(os);
66  return os;
67  }
68 
71  {
72  //Partial safety factors
73  float partial_safety_factors_fav_acc;
74  float partial_safety_factors_unfav_acc;
75  protected:
77 
78  friend class PartialSafetyFactors;
80  Variation CoefsPT(void) const;
82  Variation CoefsAcc(void) const;
83  public:
85  ULSPartialSafetyFactors(const float &fav=0.0,const float &desfav=1.8,const float &fav_acc=0.0,const float &desfav_acc=1.0);
86  inline float getFavorableAccidental(void) const
87  { return partial_safety_factors_fav_acc; }
88  inline void setFavorableAccidental(const float &f)
89  { partial_safety_factors_fav_acc= f; }
90  inline float getDesfavorableAccidental(void) const
91  { return partial_safety_factors_unfav_acc; }
92  inline void setDesfavorableAccidental(const float &f)
93  { partial_safety_factors_unfav_acc= f; }
94  virtual void Print(std::ostream &os) const;
95  };
96 
99  {
100  ULSPartialSafetyFactors uls_partial_safety_factors;
101  SLSPartialSafetyFactors sls_partial_safety_factors;
102  protected:
103  Variation CoefsEls(void) const;
104  public:
106 
109  { return uls_partial_safety_factors; }
112  { return sls_partial_safety_factors; }
113  Variation getVariation(const bool &uls,const bool &sit_accidental) const;
114  virtual void Print(std::ostream &os) const;
115  };
116 
117 inline std::ostream &operator<<(std::ostream &os, const PartialSafetyFactors &g)
118  {
119  g.Print(os);
120  return os;
121  }
122 
123 } //fin namespace nmb_acc.
124 
125 #endif
Variation Coefs(void) const
Return the partial safety factors for serviceability limit state.
Definition: PartialSafetyFactors.cc:36
const ULSPartialSafetyFactors & getULSPartialSafetyFactors(void) const
Return the partial safety factors for ultimate limit states.
Definition: PartialSafetyFactors.h:108
const SLSPartialSafetyFactors & getSLSPartialSafetyFactors(void) const
Return the partial safety factors for serviceability limit states.
Definition: PartialSafetyFactors.h:111
friend class PartialSafetyFactors
Lee el objeto desde archivo.
Definition: PartialSafetyFactors.h:47
Serviceability limit states partial safety factors.
Definition: PartialSafetyFactors.h:38
Routines to generate combinations of actions.
float partial_safety_factors_unfav
unfavourable effect.
Definition: PartialSafetyFactors.h:43
Vector that stores the factors of the linear combination of actions.
Definition: Variation.h:36
virtual void Print(std::ostream &os) const
Print stuff.
Definition: PartialSafetyFactors.cc:103
SLSPartialSafetyFactors(const float &fav=0.0, const float &desfav=1.0)
Default constructor. Supone control normal.
Definition: PartialSafetyFactors.cc:31
Objet that can execute python scripts.
Definition: CommandEntity.h:40
Partial safety factors de una familia de acciones en SLS y ULS.
Definition: PartialSafetyFactors.h:98
float partial_safety_factors_fav
favourable effect.
Definition: PartialSafetyFactors.h:42
Partial safety factors de una familia de acciones (permanentes, variables,...), en estados límite últ...
Definition: PartialSafetyFactors.h:70