xc
Concrete02IS.h
1 /* ****************************************************************** **
2 ** OpenSees - Open System for Earthquake Engineering Simulation **
3 ** Pacific Earthquake Engineering Research Center **
4 ** **
5 ** **
6 ** (C) Copyright 1999, The Regents of the University of California **
7 ** All Rights Reserved. **
8 ** **
9 ** Commercial use of this program without express permission of the **
10 ** University of California, Berkeley, is strictly prohibited. See **
11 ** file 'COPYRIGHT' in main directory for information on usage and **
12 ** redistribution, and for a DISCLAIMER OF ALL WARRANTIES. **
13 ** **
14 ** Developed by: **
15 ** Frank McKenna (fmckenna@ce.berkeley.edu) **
16 ** Gregory L. Fenves (fenves@ce.berkeley.edu) **
17 ** Filip C. Filippou (filippou@ce.berkeley.edu) **
18 ** **
19 ** ****************************************************************** */
20 
21 // $Revision: 1.3 $
22 // $Date: 2007-06-08 00:38:39 $
23 // $Source: /usr/local/cvs/OpenSees/SRC/material/uniaxial/Concrete02IS.h,v $
24 
25 // Written: fmk
26 // Created: 03/06
27 //
28 // Description: This file contains the class definition for
29 // Concrete02IS. Concrete02IS is based on an f2c of the FEDEAS material
30 // Concr2.f which is:
31 /*-----------------------------------------------------------------------
32 ! concrete model with damage modulus
33 ! by MOHD YASSIN (1993)
34 ! adapted to FEDEAS material library
35 ! by D. Sze and Filip C. Filippou in 1994
36 ! Modified by Nasser A. Marafi (2018) so that the concrete initial stiffness
37 ! can be specified.
38 -----------------------------------------------------------------------*/
39 
40 
41 
42 #ifndef Concrete02IS_h
43 #define Concrete02IS_h
44 
45 #include "material/uniaxial/concrete/Concrete02.h"
46 
47 namespace XC {
48 
49 class Concrete02IS : public Concrete02
50  {
51  private:
52  // matpar : Concrete FIXED PROPERTIES
53  // double fc --> fpc // concrete compression strength : mp(1)
54  // double fcu --> fpcu // stress at ultimate (crushing) strain : mp(3)
55  double E0; // Initial Stiffness
56 
57  void Compr_Envlp(double epsc, double &sigc, double &Ect);
58 
59  protected:
60  int sendData(Communicator &);
61  int recvData(const Communicator &);
62  public:
63  Concrete02IS(int tag= 0);
64  Concrete02IS(int tag, double _E0, double _fc, double _epsc0, double _fcu,
65  double _epscu, double _rat, double _ft, double _Ets);
66  Concrete02IS(int tag, double _E0, double _fc, double _epsc0, double _fcu,
67  double _epscu);
68  UniaxialMaterial *getCopy(void) const;
69 
70  double getInitialTangent(void) const;
71  void setInitialTangent(const double &);
72 
73  int sendSelf(Communicator &);
74  int recvSelf(const Communicator &);
75 
76  int getVariable(const std::string &variable, Information &) const;
77  };
78 
79 } // end of XC namespace
80 
81 #endif
82 
int recvSelf(const Communicator &)
Receive the object.
Definition: Concrete02IS.cpp:118
UniaxialMaterial * getCopy(void) const
Constructor.
Definition: Concrete02IS.cpp:72
Information about an element.
Definition: Information.h:81
Communication parameters between processes.
Definition: Communicator.h:66
Base class for uniaxial materials.
Definition: UniaxialMaterial.h:93
int recvData(const Communicator &)
Receives object members through the communicator argument.
Definition: Concrete02IS.cpp:97
int sendData(Communicator &)
Send object members through the communicator argument.
Definition: Concrete02IS.cpp:89
void setInitialTangent(const double &)
Assigns concrete compressive strength.
Definition: Concrete02IS.cpp:82
int sendSelf(Communicator &)
Send the object.
Definition: Concrete02IS.cpp:104
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
Concrete02IS(int tag=0)
Default constructor.
Definition: Concrete02IS.cpp:50
Uniaxial model for concrete with tensile strength and tension softenint.
Definition: Concrete02.h:79
Definition: Concrete02IS.h:49