xc
TDConcreteMC10Base.h
1 // -*-c++-*-
2 //----------------------------------------------------------------------------
3 // XC program; finite element analysis code
4 // for structural analysis and design.
5 //
6 // Copyright (C) Luis C. Pérez Tato
7 //
8 // This program derives from OpenSees <http://opensees.berkeley.edu>
9 // developed by the «Pacific earthquake engineering research center».
10 //
11 // Except for the restrictions that may arise from the copyright
12 // of the original program (see copyright_opensees.txt)
13 // XC is free software: you can redistribute it and/or modify
14 // it under the terms of the GNU General Public License as published by
15 // the Free Software Foundation, either version 3 of the License, or
16 // (at your option) any later version.
17 //
18 // This software is distributed in the hope that it will be useful, but
19 // WITHOUT ANY WARRANTY; without even the implied warranty of
20 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 // GNU General Public License for more details.
22 //
23 //
24 // You should have received a copy of the GNU General Public License
25 // along with this program.
26 // If not, see <http://www.gnu.org/licenses/>.
27 //----------------------------------------------------------------------------
28 /* ****************************************************************** **
29 ** OpenSees - Open System for Earthquake Engineering Simulation **
30 ** Pacific Earthquake Engineering Research Center **
31 ** **
32 ** **
33 ** (C) Copyright 1999, The Regents of the University of California **
34 ** All Rights Reserved. **
35 ** **
36 ** Commercial use of this program without express permission of the **
37 ** University of California, Berkeley, is strictly prohibited. See **
38 ** file 'COPYRIGHT' in main directory for information on usage and **
39 ** redistribution, and for a DISCLAIMER OF ALL WARRANTIES. **
40 ** **
41 ** Developed by: **
42 ** Frank McKenna (fmckenna@ce.berkeley.edu) **
43 ** Gregory L. Fenves (fenves@ce.berkeley.edu) **
44 ** Filip C. Filippou (filippou@ce.berkeley.edu) **
45 ** **
46 ** ****************************************************************** */
47 
48 #ifndef TDConcreteMC10Base_h
49 #define TDConcreteMC10Base_h
50 
51 #include "material/uniaxial/concrete/TDConcreteBase.h"
52 
53 namespace XC {
54 
56  {
57  protected:
58  // matpar : Concrete FIXED PROPERTIES
59  double Ecm;
60  double epsba;
61  double epsbb;
62  double epsda;
63  double epsdb;
64  double phiba;
65  double phibb;
66  double phida;
67  double phidb;
68  double cem;
69 
70  // hstv : Concrete HISTORY VARIABLES current step
71 
72  //Added by AMK:
73  double eps_crb;
74  double eps_crd;
75  double eps_shb;
76  double eps_shd;
77 
78  double epsP_crb;
79  double epsP_crd;
80  double epsP_shb;
81  double epsP_shd;
82 
83  double phib_i;
84  double phid_i;
85 
86  std::vector<float> PHIB_i;
87  std::vector<float> PHID_i;
88 
89  protected:
90  int sendData(Communicator &);
91  int recvData(const Communicator &);
92  size_t resize(void);
93  public:
94  TDConcreteMC10Base(int tag, int classTag);
95  TDConcreteMC10Base(int tag, int classTag, double _fc, double _ft, double _Ec, double _Ecm, double _beta, double _age, double _epsba, double _epsbb, double _epsda, double _epsdb, double _phiba, double _phibb, double _phida, double _phidb, double _tcast, double _cem);
96  void setup_parameters(void);
97 
98  double getEcm(void) const;
99  void setEcm(const double &);
100 
101  double getEpsba(void) const;
102  void setEpsba(const double &);
103  double getEpsbb(void) const;
104  void setEpsbb(const double &);
105  double getEpsda(void) const;
106  void setEpsda(const double &);
107  double getEpsdb(void) const;
108  void setEpsdb(const double &);
109 
110  double getPhiba(void) const;
111  void setPhiba(const double &);
112  double getPhibb(void) const;
113  void setPhibb(const double &);
114  double getPhida(void) const;
115  void setPhida(const double &);
116  double getPhidb(void) const;
117  void setPhidb(const double &);
118 
119  double getCem(void) const;
120  void setCem(const double &);
121 
122  double getPHIB_i(void) const; //Added by AMK //ntosic: split into basic and drying creep
123  double getPHID_i(void) const; //Added by AMK //ntosic: split into basic and drying creep
124  double getCreepBasic(void) const; //Added by AMK //ntosic: split into basic and drying creep
125  double getCreepDrying(void) const; //Added by AMK //ntosic: split into basic and drying creep
126  double setPhiBasic(double time, double tp); //Added by AMK //ntosic: split into basic and drying creep
127  double setPhiDrying(double time, double tp); //Added by AMK //ntosic: split into basic and drying creep
128  double setShrinkBasic(double time); //Added by AMK //ntosic: split into basic and drying shrinkage
129  double setShrinkDrying(double time); //Added by AMK //ntosic: split into basic and drying shrinkage
130  double getShrinkBasic(void) const; //Added by AMK //ntosic: split into basic and drying
131  double getShrinkDrying(void) const; //Added by AMK //ntosic: split into basic and drying
132 
133  int revertToLastCommit(void);
134  int revertToStart(void);
135 
136  int sendSelf(Communicator &);
137  int recvSelf(const Communicator &);
138 
139  };
140 
141 } // end of XC namespace
142 
143 #endif
144 
double eps_crd
split into basic and drying creep (ntosic)
Definition: TDConcreteMC10Base.h:74
double epsda
product of εcds,0 and βRH, as per Model Code 2010.
Definition: TDConcreteMC10Base.h:62
double epsP_crb
split into basic and drying creep (ntosic)
Definition: TDConcreteMC10Base.h:78
void setPhiba(const double &)
Set parameter for the effect of compressive strength on basic creep βbc(fcm), as per Model Code 2010...
Definition: TDConcreteMC10Base.cc:166
int sendData(Communicator &)
Send object members through the communicator argument.
Definition: TDConcreteMC10Base.cc:304
double phiba
parameter for the effect of compressive strength on basic creep βbc(fcm), as per Model Code 2010...
Definition: TDConcreteMC10Base.h:64
double phid_i
split into basic and drying creep (ntosic)
Definition: TDConcreteMC10Base.h:84
Definition: TDConcreteBase.h:56
Communication parameters between processes.
Definition: Communicator.h:66
double epsP_shd
split into basic and drying shrinkage (ntosic)
Definition: TDConcreteMC10Base.h:81
double eps_shb
split into basic and drying shrinkage (ntosic)
Definition: TDConcreteMC10Base.h:75
int recvData(const Communicator &)
Receives object members through the communicator argument.
Definition: TDConcreteMC10Base.cc:315
TDConcreteMC10Base(int tag, int classTag)
Constructor.
Definition: TDConcreteMC10Base.cc:91
double phib_i
split into basic and drying creep (ntosic)
Definition: TDConcreteMC10Base.h:83
void setEpsba(const double &)
Set ultimate basic shrinkage strain, εcbs,0, as per Model Code 2010.
Definition: TDConcreteMC10Base.cc:133
double phidb
fitting constant within the drying creep time evolution function as per Model Code 2010...
Definition: TDConcreteMC10Base.h:67
Definition: TDConcreteMC10Base.h:55
void setCem(const double &)
Set coefficient dependent on the type of cement: –1 for 32.5N, 0 for 32.5R and 42.5N and 1 for 42.5R, 52.5N and 52.5R.
Definition: TDConcreteMC10Base.cc:198
void setEcm(const double &)
Set 28-day modulus, necessary for normalizing creep coefficient.
Definition: TDConcreteMC10Base.cc:124
int recvSelf(const Communicator &)
Receives object through the communicator argument.
Definition: TDConcreteMC10Base.cc:338
double getCem(void) const
Get coefficient dependent on the type of cement: –1 for 32.5N, 0 for 32.5R and 42.5N and 1 for 42.5R, 52.5N and 52.5R.
Definition: TDConcreteMC10Base.cc:194
double cem
coefficient dependent on the type of cement: –1 for 32.5N, 0 for 32.5R and 42.5N and 1 for 42...
Definition: TDConcreteMC10Base.h:68
double getPhidb(void) const
Get fitting constant within the drying creep time evolution function as per Model Code 2010...
Definition: TDConcreteMC10Base.cc:186
double epsba
28-day modulus, necessary for normalizing creep coefficient.
Definition: TDConcreteMC10Base.h:60
void setPhida(const double &)
Set product of βdc(fcm) and β(RH), as per Model Code 2010.
Definition: TDConcreteMC10Base.cc:182
double eps_crb
split into basic and drying creep (ntosic)
Definition: TDConcreteMC10Base.h:73
void setEpsda(const double &)
Set the value of epsda: product of εcds,0 and βRH, as per Model Code 2010.
Definition: TDConcreteMC10Base.cc:149
double getEpsbb(void) const
Get fitting parameter within the basic shrinkage time evolution function as per Model Code 2010 and p...
Definition: TDConcreteMC10Base.cc:137
double epsP_crd
split into basic and drying creep (ntosic)
Definition: TDConcreteMC10Base.h:79
void setEpsdb(const double &)
Set fitting parameter within the drying shrinkage time evolution function as per Model Code 2010 and ...
Definition: TDConcreteMC10Base.cc:157
double getEcm(void) const
Get 28-day modulus, necessary for normalizing creep coefficient.
Definition: TDConcreteMC10Base.cc:120
double epsdb
fitting parameter within the drying shrinkage time evolution function as per Model Code 2010 and prEN...
Definition: TDConcreteMC10Base.h:63
std::vector< float > PHIB_i
split into basic and drying creep (ntosic)
Definition: TDConcreteMC10Base.h:86
void setPhidb(const double &)
Set fitting constant within the drying creep time evolution function as per Model Code 2010...
Definition: TDConcreteMC10Base.cc:190
double epsbb
fitting parameter within the basic shrinkage time evolution function as per Model Code 2010 and prEN1...
Definition: TDConcreteMC10Base.h:61
double getEpsda(void) const
Get the value of epsda: product of εcds,0 and βRH, as per Model Code 2010.
Definition: TDConcreteMC10Base.cc:145
void setPhibb(const double &)
Set fitting parameter within the basic creep time evolution function as per Model Code 2010 and prEN1...
Definition: TDConcreteMC10Base.cc:174
double phida
product of βdc(fcm) and β(RH), as per Model Code 2010.
Definition: TDConcreteMC10Base.h:66
double getPhida(void) const
Get product of βdc(fcm) and β(RH), as per Model Code 2010.
Definition: TDConcreteMC10Base.cc:178
double getEpsba(void) const
Get ultimate basic shrinkage strain, εcbs,0, as per Model Code 2010.
Definition: TDConcreteMC10Base.cc:129
double getPhibb(void) const
Get fitting parameter within the basic creep time evolution function as per Model Code 2010 and prEN1...
Definition: TDConcreteMC10Base.cc:170
double getEpsdb(void) const
Get fitting parameter within the drying shrinkage time evolution function as per Model Code 2010 and ...
Definition: TDConcreteMC10Base.cc:153
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
std::vector< float > PHID_i
split into basic and drying creep (ntosic)
Definition: TDConcreteMC10Base.h:87
double epsP_shb
split into basic and drying shrinkage (ntosic)
Definition: TDConcreteMC10Base.h:80
void setEpsbb(const double &)
Set fitting parameter within the basic shrinkage time evolution function as per Model Code 2010 and p...
Definition: TDConcreteMC10Base.cc:141
double eps_shd
split into basic and drying shrinkage (ntosic)
Definition: TDConcreteMC10Base.h:76
void setup_parameters(void)
Sets initial values for the concrete parameters.
Definition: TDConcreteMC10Base.cc:57
double phibb
fitting parameter within the basic creep time evolution function as per Model Code 2010 and prEN1992-...
Definition: TDConcreteMC10Base.h:65
double getPhiba(void) const
Get parameter for the effect of compressive strength on basic creep βbc(fcm), as per Model Code 2010...
Definition: TDConcreteMC10Base.cc:162
int sendSelf(Communicator &)
Sends object through the communicator argument.
Definition: TDConcreteMC10Base.cc:325