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 |