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 #include "material/uniaxial/concrete/MC10CreepSteps.h"
53 #include "material/uniaxial/concrete/MC10CreepShrinkageParameters.h"
54 #include "material/uniaxial/concrete/MC10CreepShrinkageState.h"
55 
56 namespace XC {
57 
59  {
60  protected:
61  // matpar : Concrete FIXED PROPERTIES
62  double Ecm;
63 
64  // hstv : Concrete HISTORY VARIABLES current step
65 
66  //Added by AMK:
68 
69  double phib_i;
70  double phid_i;
71 
73  MC10CreepSteps creepSteps;
74  protected:
75  int sendData(Communicator &);
76  int recvData(const Communicator &);
77  public:
78  TDConcreteMC10Base(int tag, int classTag);
79  TDConcreteMC10Base(int tag, int classTag, double _fc, double _ft, double _Ets, double _Ec, double _Ecm, double _beta, double _age, double _tcast, const MC10CreepShrinkageParameters &);
80  void setup_parameters(void);
81 
82  double getEcm(void) const;
83  void setEcm(const double &);
84 
87 
88  double getPHIB_i(void) const; //Added by AMK //ntosic: split into basic and drying creep
89  double getPHID_i(void) const; //Added by AMK //ntosic: split into basic and drying creep
90  double getCreepBasic(void) const; //Added by AMK //ntosic: split into basic and drying creep
91  double getCreepDrying(void) const; //Added by AMK //ntosic: split into basic and drying creep
92  double setPhiBasic(double time, double tp) const; //Added by AMK //ntosic: split into basic and drying creep
93  double setPhiDrying(double time, double tp) const; //Added by AMK //ntosic: split into basic and drying creep
94  double setShrinkBasic(double time); //Added by AMK //ntosic: split into basic and drying shrinkage
95  double setShrinkDrying(double time); //Added by AMK //ntosic: split into basic and drying shrinkage
96  double getShrinkBasic(void) const; //Added by AMK //ntosic: split into basic and drying
97  double getShrinkDrying(void) const; //Added by AMK //ntosic: split into basic and drying
98 
100  virtual void setEt(const double &d)
101  { this->creepShrinkageState.setEt(d); }
103  virtual double getEt(void) const
104  { return this->creepShrinkageState.getEt(); }
105 
107  void setAge(const double &d)
108  { this->creepShrinkageState.setAge(d); }
110  double getAge(void) const
111  { return this->creepShrinkageState.getAge(); }
112 
114  void setTCast(const double &d)
115  { this->creepShrinkageState.setTCast(d); }
117  double getTCast(void) const
118  { return this->creepShrinkageState.getTCast(); }
119 
120  double getStrain(void) const
121  { return creepShrinkageState.getStrain(); }
122 
123  double setCreepBasicStrain(double time, double stress); //Added by AMK //ntosic: split into basic and drying creep
124  double setCreepDryingStrain(double time, double stress); //Added by AMK //ntosic: split into basic and drying creep
125 
126  int revertToLastCommit(void);
127  int revertToStart(void);
128 
129  int sendSelf(Communicator &);
130  int recvSelf(const Communicator &);
131 
132  };
133 
134 } // end of XC namespace
135 
136 #endif
137 
double getTCast(void) const
Return the analysis time corresponding to concrete casting in days.
Definition: TDConcreteMC10Base.h:117
void setAge(const double &d)
Assign the concrete age at first loading.
Definition: CreepShrinkageStateBase.h:95
virtual void setEt(const double &d)
Assign current concrete stiffness.
Definition: TDConcreteMC10Base.h:100
int sendData(Communicator &)
Send object members through the communicator argument.
Definition: TDConcreteMC10Base.cc:176
double phid_i
drying phi coefficient (ntosic).
Definition: TDConcreteMC10Base.h:70
Definition: TDConcreteBase.h:57
Communication parameters between processes.
Definition: Communicator.h:66
int recvData(const Communicator &)
Receives object members through the communicator argument.
Definition: TDConcreteMC10Base.cc:186
TDConcreteMC10Base(int tag, int classTag)
Constructor.
Definition: TDConcreteMC10Base.cc:70
MC10CreepShrinkageState creepShrinkageState
28-day modulus, necessary for normalizing creep coefficient.
Definition: TDConcreteMC10Base.h:67
double phib_i
basic phi coefficient (ntosic).
Definition: TDConcreteMC10Base.h:69
Definition: TDConcreteMC10Base.h:58
Class that groups the variables that keep track of the creep and shrinkage strains according to the M...
Definition: MC10CreepShrinkageState.h:39
void setEcm(const double &)
Set 28-day modulus, necessary for normalizing creep coefficient.
Definition: TDConcreteMC10Base.cc:99
int recvSelf(const Communicator &)
Receives object through the communicator argument.
Definition: TDConcreteMC10Base.cc:210
double getAge(void) const
Return the concrete age at first loading.
Definition: CreepShrinkageStateBase.h:98
const MC10CreepShrinkageParameters & getCreepShrinkageParameters(void) const
Retrieve the values of the creep and shrinkage parameters.
Definition: TDConcreteMC10Base.cc:107
void setTCast(const double &d)
Assign the analysis time corresponding to concrete casting in days.
Definition: TDConcreteMC10Base.h:114
Definition: MC10CreepSteps.h:36
double getTCast(void) const
Return the analysis time corresponding to concrete casting in days.
Definition: CreepShrinkageStateBase.h:105
void setTCast(const double &d)
Assign the analysis time corresponding to concrete casting in days.
Definition: CreepShrinkageStateBase.h:102
double getAge(void) const
Return the concrete age at first loading.
Definition: TDConcreteMC10Base.h:110
double getEcm(void) const
Get 28-day modulus, necessary for normalizing creep coefficient.
Definition: TDConcreteMC10Base.cc:95
void setCreepShrinkageParameters(const MC10CreepShrinkageParameters &)
Assign the values of the creep and shrinkage parameters.
Definition: TDConcreteMC10Base.cc:103
double setCreepBasicStrain(double time, double stress)
Return the creep occurring in a sealed (no drying) specimen, driven by internal moisture movement...
Definition: TDConcreteMC10Base.cc:137
void setEt(const double &d)
Assign current concrete stiffness.
Definition: CreepShrinkageStateBase.h:87
MC10CreepShrinkageParameters creepShrinkageParameters
Creep and shrinkage parameters according to Model Code 10.
Definition: TDConcreteMC10Base.h:72
virtual double getEt(void) const
Returns current concrete stiffness.
Definition: TDConcreteMC10Base.h:103
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
Parameters that define creep and shrinkage behaviour according to Model Code 2010.
Definition: MC10CreepShrinkageParameters.h:38
void setup_parameters(void)
Sets initial values for the concrete parameters.
Definition: TDConcreteMC10Base.cc:58
void setAge(const double &d)
Assign the concrete age at first loading.
Definition: TDConcreteMC10Base.h:107
double getEt(void) const
Returns current concrete stiffness.
Definition: CreepShrinkageStateBase.h:91
int sendSelf(Communicator &)
Sends object through the communicator argument.
Definition: TDConcreteMC10Base.cc:195