XC Open source finite element analysis program
Main Page
Modules
Namespaces
Classes
Files
File List
xc
src
material
nD
Template3Dep
PS.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
//# CLASS: PotentialSurface(the base class for all potential surfaces) #
34
//# #
35
//# VERSION: #
36
//# LANGUAGE: C++.ver >= 2.0 ( Borland C++ ver=3.00, SUN C++ ver=2.1 ) #
37
//# TARGET OS: DOS || UNIX || . . . #
38
//# DESIGNER(S): Boris Jeremic, Zhaohui Yang #
39
//# PROGRAMMER(S): Boris Jeremic, Zhaohui Yang #
40
//# #
41
//# #
42
//# DATE: 08-03-2000 #
43
//# UPDATE HISTORY: #
44
//# #
45
//# #
46
//# #
47
//# #
48
//# SHORT EXPLANATION: The goal is to create a platform for efficient and easy #
49
//# implemetation of any elasto-plastic constitutive model! #
50
//# #
51
//##################################################################################
52
//
53
54
#ifndef PS_H
55
#define PS_H
56
57
#include <iostream>
58
59
namespace
XC
{
60
class
BJtensor;
61
class
EPState;
62
64
//
66
//
68
//
71
class
PotentialSurface
72
{
73
public
:
74
virtual
PotentialSurface
*newObj() = 0;
//create a colne of itself
75
virtual
~
PotentialSurface
() {};
// Codewizard requires virtual destructor
76
double
q()
const
{
return
0.0; };
// Codewizard does not like function defined in class definition
77
virtual
BJtensor
dQods(
const
EPState
*EPS )
const
= 0;
//pure virtual func
78
virtual
BJtensor
d2Qods2(
const
EPState
*EPS )
const
= 0;
//pure virtual func
79
virtual
void
print() = 0;
//pure virtual func
80
81
// Added for Consistent Algorithm, Z. Cheng, Jan 2004
82
// Ref. Jeremic & Sture, Mechanics of Cohesive-Frictional Materials, Vol.2 165-183 (1997)
83
virtual
BJtensor
d2Qodsds1(
const
EPState
*EPS )
const
;
84
virtual
BJtensor
d2Qodsds2(
const
EPState
*EPS )
const
;
85
virtual
BJtensor
d2Qodsds3(
const
EPState
*EPS )
const
;
86
virtual
BJtensor
d2Qodsds4(
const
EPState
*EPS )
const
;
87
virtual
BJtensor
d2Qodsdt1(
const
EPState
*EPS )
const
;
88
virtual
BJtensor
d2Qodsdt2(
const
EPState
*EPS )
const
;
89
virtual
BJtensor
d2Qodsdt3(
const
EPState
*EPS )
const
;
90
virtual
BJtensor
d2Qodsdt4(
const
EPState
*EPS )
const
;
91
92
//================================================================================
93
// Overloaded Insertion Operator
94
// prints an PotentialSurface's contents
95
//================================================================================
96
friend
std::ostream& operator<< (std::ostream& os,
const
PotentialSurface
& PS)
97
{
98
os <<
"Potential Surface Parameters: "
<< std::endl;
99
return
os;
100
}
101
};
102
}
// end of XC namespace
103
104
105
#endif
106
XC::BJtensor
Definition:
BJtensor.h:110
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