XC Open source finite element analysis program
DruckerPrager3D.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 ** OpenSees - Open System for Earthquake Engineering Simulation **
28 ** Pacific Earthquake Engineering Research Center **
29 ** **
30 ** **
31 ** (C) Copyright 1999, The Regents of the University of California **
32 ** All Rights Reserved. **
33 ** **
34 ** Commercial use of this program without express permission of the **
35 ** University of California, Berkeley, is strictly prohibited. See **
36 ** file 'COPYRIGHT' in main directory for information on usage and **
37 ** redistribution, and for a DISCLAIMER OF ALL WARRANTIES. **
38 ** **
39 ** ****************************************************************** */
40 
41 
42 // $Revision: 1.1 $
43 // $Date: 2010-02-04 00:44:04 $
44 // $Source: /usr/local/cvs/OpenSees/SRC/material/nD/DruckerPrager3D.h,v $
45 
46 // Written: K.Petek, U.Washington
47 
48 //
49 // DruckerPrager3D isotropic hardening material class
50 //
51 
52 
53 #include "DruckerPrager.h"
54 
55 namespace XC {
57 //
60 
61 //-------------------Declarations-------------------------------
62 
63  public :
64 
65  //null constructor
66  DruckerPrager3D( ) ;
67 
68  //full constructor
69  DruckerPrager3D(int tag, double bulk, double shear,
70  double s_y, double r, double r_bar, double Kinfinity, double Kinit,
71  double d1, double d2, double H, double t, double massDen, double atm);
72 
73 
74  //destructor
75  ~DruckerPrager3D( ) ;
76 
77  NDMaterial *getCopy(void) const;
78  const std::string &getType(void) const;
79  int getOrder(void) const;
80 
81  int setTrialStrain(const Vector &strain_from_element);
82 
83  // Unused trialStrain functions
84  int setTrialStrain(const Vector &v, const Vector &r);
85 
86  //send back the strain
87  const Vector& getStrain( ) ;
88 
89  //send back the stress
90  const Vector& getStress( ) ;
91 
92  //send back the tangent
93  const Matrix& getTangent( ) ;
94  const Matrix& getInitialTangent( ) ;
95 
96  };
97 } // end XC namespace
const Matrix & getTangent()
Return the tangent stiffness matrix.
Definition: DruckerPrager3D.cpp:101
Base class for 2D and 3D materials.
Definition: NDMaterial.h:91
Definition: Vector.h:82
Drucker-Prager material.
Definition: DruckerPrager.h:75
Drucker-Prager 3D material.
Definition: DruckerPrager3D.h:59
const Vector & getStrain()
Returns strain.
Definition: DruckerPrager3D.cpp:88
Definition: Matrix.h:82
const Vector & getStress()
Returns stress.
Definition: DruckerPrager3D.cpp:95
NDMaterial * getCopy(void) const
Virtual constructor.
Definition: DruckerPrager3D.cpp:46
int setTrialStrain(const Vector &strain_from_element)
Asigna el trial strain value.
Definition: DruckerPrager3D.cpp:71
================================================================================
Definition: ContinuaReprComponent.h:34