Subversion Repositories OpenSees

Rev

Rev 365 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
12 jeremic 1
 
2
//================================================================================
3
// COPYRIGHT (C):     :-))                                                       |
4
// PROJECT:           Object Oriented Finite Element Program                     |
5
// PURPOSE:           General platform for elaso-plastic constitutive model      |
6
//                    implementation                                             |
7
//                                                                               |
8
// CLASS:             EvolutionLaw_L_Eeq (linear Evolution law)                  |
9
//                                                                               |
10
//                                                                               |
11
// VERSION:                                                                      |
12
// LANGUAGE:          C++.ver >= 2.0 ( Borland C++ ver=3.00, SUN C++ ver=2.1 )   |
13
// TARGET OS:         DOS || UNIX || . . .                                       |
14
// DESIGNER(S):       Boris Jeremic, Zhaohui Yang                                |
15
// PROGRAMMER(S):     Boris Jeremic, Zhaohui Yang                                |
16
//                                                                               |
17
//                                                                               |
18
// DATE:              09-02-2000                                                 |
19
// UPDATE HISTORY:                                                               |
20
//                                                                               |
21
//                                                                               |
22
//                                                                               |
23
//                                                                               |
24
// SHORT EXPLANATION: This is a linear evolution law for the evoltion of a       |
25
//                    scalar variable k which depends on plastic equi. strain    |
26
//                    i.e. dk = a*de_eq_p                                        |
27
//                                                                               |
28
//================================================================================
29
 
30
#ifndef EL_LEeq_H
31
#define EL_LEeq_H
32
 
33
#include <math.h>
34
#include "EL_S.h"
35
 
36
class EvolutionLaw_L_Eeq : public EvolutionLaw_S
37
{
38
  // Private vars to define the evolution law
39
 
130 jeremic 40
  private:
12 jeremic 41
    double  a;  //coefficient to define the linear hardening rule of a scalar hardening var
42
 
43
  public:
44
    //EvolutionLaw_L_Eeq( );    // default constructor---no parameters
45
 
130 jeremic 46
    EvolutionLaw_L_Eeq( double ad = 10.0);
12 jeremic 47
 
48
    EvolutionLaw_L_Eeq(const EvolutionLaw_L_Eeq &LEL );   // Copy constructor
49
 
365 jeremic 50
    //~EvolutionLaw_L_Eeq() {}; 
51
 
130 jeremic 52
    EvolutionLaw_S *newObj();                     //create a clone of itself
12 jeremic 53
 
54
    //void InitVars(EPState *EPS);    // Initialize all hardening vars called only once 
55
    //                                // after material point is formed if necessary.
56
 
57
    //void setInitD(EPState  *EPS);   // set initial D once current stress hits the y.s.
58
    //                                // was primarily for Manzari-Dafalias model
59
 
60
    //double h( EPState *EPS,  double norm_dQods);     // Evaluating hardening function h
61
    double h_s( EPState *EPS, PotentialSurface *PS);    // Evaluating hardening function h
62
 
63
    //void UpdateVar( EPState *EPS, double dlamda );  // Evolve corresponding var linearly using de_eq_p
64
    //Moved to CDriver.cpp
65
 
66
    void print();
67
 
130 jeremic 68
  private:
12 jeremic 69
    // some accessor functions
70
    double geta() const;      // Linear coefficient used to evolve internal var
71
    void   seta( double ad);
72
 
73
    //================================================================================
74
    // Overloaded Insertion Operator      Zhaohui Added Aug. 13, 2000
75
    // prints Linear EvolutionLaw's contents 
76
    //================================================================================
1271 fmk 77
    friend OPS_Stream& operator<< (OPS_Stream& os, const EvolutionLaw_L_Eeq & LEL);
12 jeremic 78
 
79
 
80
};
81
 
82
 
83
#endif
84
 
85
 
86
 
87