XC Open source finite element analysis program
Main Page
Modules
Namespaces
Classes
Files
File List
xc
src
material
nD
Template3Dep
EL_LEeq.h
1
//----------------------------------------------------------------------------
2
// XC program; finite element analysis code
3
// for structural analysis and design.
4
//
5
// Copyright (C) Luis Claudio Pérez Tato
6
//
7
// This program derives from OpenSees <http://opensees.berkeley.edu>
8
// developed by the «Pacific earthquake engineering research center».
9
//
10
// Except for the restrictions that may arise from the copyright
11
// of the original program (see copyright_opensees.txt)
12
// XC is free software: you can redistribute it and/or modify
13
// it under the terms of the GNU General Public License as published by
14
// the Free Software Foundation, either version 3 of the License, or
15
// (at your option) any later version.
16
//
17
// This software is distributed in the hope that it will be useful, but
18
// WITHOUT ANY WARRANTY; without even the implied warranty of
19
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
// GNU General Public License for more details.
21
//
22
//
23
// You should have received a copy of the GNU General Public License
24
// along with this program.
25
// If not, see <http://www.gnu.org/licenses/>.
26
//----------------------------------------------------------------------------
27
28
//================================================================================
29
// COPYRIGHT (C): :-)) |
30
// PROJECT: Object Oriented Finite Element Program |
31
// PURPOSE: General platform for elaso-plastic constitutive model |
32
// implementation |
33
// |
34
// CLASS: EvolutionLaw_L_Eeq (linear Evolution law) |
35
// |
36
// |
37
// VERSION: |
38
// LANGUAGE: C++.ver >= 2.0 ( Borland C++ ver=3.00, SUN C++ ver=2.1 ) |
39
// TARGET OS: DOS || UNIX || . . . |
40
// DESIGNER(S): Boris Jeremic, Zhaohui Yang |
41
// PROGRAMMER(S): Boris Jeremic, Zhaohui Yang |
42
// |
43
// |
44
// DATE: 09-02-2000 |
45
// UPDATE HISTORY: |
46
// |
47
// |
48
// |
49
// |
50
// SHORT EXPLANATION: This is a linear evolution law for the evoltion of a |
51
// scalar variable k which depends on plastic equi. strain |
52
// i.e. dk = a*de_eq_p |
53
// |
54
//================================================================================
55
56
#ifndef EL_LEeq_H
57
#define EL_LEeq_H
58
59
#include <cmath>
60
#include "material/nD/Template3Dep/EL_S.h"
61
62
namespace
XC
{
64
//
66
class
EvolutionLaw_L_Eeq
:
public
EvolutionLaw_S
67
{
68
private
:
69
double
a;
//coefficient to define the linear hardening rule of a scalar hardening var
70
71
public
:
72
//EvolutionLaw_L_Eeq( ); // default constructor---no parameters
73
74
EvolutionLaw_L_Eeq
(
double
ad = 10.0);
75
76
EvolutionLaw_L_Eeq
(
const
EvolutionLaw_L_Eeq
&LEL );
// Copy constructor
77
78
//~EvolutionLaw_L_Eeq() {};
79
80
EvolutionLaw_S
*newObj();
//create a clone of itself
81
82
//void InitVars(EPState *EPS); // Initialize all hardening vars called only once
83
// // after material point is formed if necessary.
84
85
//void setInitD(EPState *EPS); // set initial D once current stress hits the y.s.
86
// // was primarily for Manzari-Dafalias model
87
88
//double h( EPState *EPS, double norm_dQods); // Evaluating hardening function h
89
double
h_s(
EPState
*EPS,
PotentialSurface
*PS);
// Evaluating hardening function h
90
91
//void UpdateVar( EPState *EPS, double dlamda ); // Evolve corresponding var linearly using de_eq_p
92
//Moved to CDriver.cpp
93
94
void
print();
95
96
//================================================================================
97
// Overloaded Insertion Operator Zhaohui Added Aug. 13, 2000
98
// prints Linear EvolutionLaw's contents
99
//================================================================================
100
friend
std::ostream& operator<<(std::ostream &os,
const
XC::EvolutionLaw_L_Eeq
& LEL);
101
private
:
102
// some accessor functions
103
double
geta()
const
;
// Linear coefficient used to evolve internal var
104
void
seta(
double
ad);
105
};
106
}
// end of XC namespace
107
108
109
#endif
110
111
112
113
XC::EvolutionLaw_S
??.
Definition:
EL_S.h:71
XC::EvolutionLaw_L_Eeq
??.
Definition:
EL_LEeq.h:66
XC::EPState
3
Definition:
EPState.h:73
XC::PotentialSurface
The goal is to create a platform for efficient and easy implemetation of any elasto-plastic constitut...
Definition:
PS.h:71
XC
================================================================================
Definition:
ContinuaReprComponent.h:34
Generated by
1.8.11