xc
Tri_a_fail_crit_YieldSurface.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 ################################################################################
30 # COPYRIGHT (C): :-)) #
31 # PROJECT: OpenSees #
32 # PURPOSE: Triaxial Failure Criterion for Concrete - yield criterion #
33 # CLASS: TriFCYieldSurface #
34 # #
35 # VERSION: 1.0 #
36 # LANGUAGE: C++ (ili tako nesto) #
37 # TARGET OS: #
38 # DESIGNER(S): Boris Jeremic and Zhaohui Yang [jeremic,zhyang]@ucdavis.edu #
39 # PROGRAMMER(S): Vlado Vukadin #
40 # #
41 # #
42 # DATE: June 01, 2002 #
43 # UPDATE HISTORY: bice tako dobr da nece biti potreban update :) #
44 # #
45 # #
46 # #
47 # #
48 # SHORT EXPLANATION: #
49 # #
50 # Yield surface is based on article by Menetrey, P. and William, K.J. #
51 # published in 1995 in ACI Structural Journal pp 311-318. Purpose of the #
52 # Yield surface is to model triaxial strength of concrete #
53 # #
54 # #
55 ################################################################################
56 //*/
57 
58 #ifndef Tri_a_fail_crit_YieldSurface_H
59 #define Tri_a_fail_crit_YieldSurface_H
60 
61 
62 #include "material/nD/template_3d_ep/YieldSurface.h"
63 
64 namespace XC {
73  {
74  private:
75  double fcomp;
76  double ftens;
77  double el;
78  double c;
79  public:
80  YieldSurface *getCopy(void) const; //create a clone of itself
81 
82  TriFCYieldSurface(double fc= 0.0, double ft= 0.0, double e= 0.0, double coh= 0.0); // Default constructor
83 
84 
85 
86  double f(const EPState *EPS) const;
87  BJtensor dFods(const EPState *EPS) const;
88 
89  // Redefine 1st derivative of F over scalar internal variables
90  //double xi_s1( const EPState *EPS ) const;
91  //double xi_s2( const EPState *EPS ) const;
92 
93  // Redefine 1st derivative of F over tensorial internal variables
94  //tensor xi_t1(const EPState *EPS) const;
95 
96  double getFcomp(void) const;
97  void setFcomp(const double &);
98  double getFtens(void) const;
99  void setFtens(const double &);
100  double getEl(void) const;
101  void setEl(const double &);
102  double getC(void) const;
103  void setC(const double &);
104 
105  void print(std::ostream &) const;
106  };
107 
108 } // end of XC namespace
109 
110 #endif
111 
TriFCYieldSurface(double fc=0.0, double ft=0.0, double e=0.0, double coh=0.0)
Constructor.
Definition: Tri_a_fail_crit_YieldSurface.cpp:65
Boris Jeremic tensor class.
Definition: BJtensor.h:112
Base class for yield surfaces.
Definition: YieldSurface.h:69
BJtensor dFods(const EPState *EPS) const
BJtensor dF/dsigma_ij (this is the place where a derivative over yield function is coded) ...
Definition: Tri_a_fail_crit_YieldSurface.cpp:112
Base class for all elasto-plastic states.
Definition: EPState.h:151
double f(const EPState *EPS) const
Yield criterion evaluation function F(EPState)
Definition: Tri_a_fail_crit_YieldSurface.cpp:80
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
YieldSurface * getCopy(void) const
Virtual constructor.
Definition: Tri_a_fail_crit_YieldSurface.cpp:76
Triaxial Failure Criterion for Concrete yield surface.
Definition: Tri_a_fail_crit_YieldSurface.h:72