Drucker Prager: Difference between revisions
No edit summary |
No edit summary |
||
Line 47: | Line 47: | ||
---- | ---- | ||
THEORY | ===THEORY=== | ||
The yield condition for the Drucker-Prager model can be expressed as | The yield condition for the Drucker-Prager model can be expressed as | ||
Line 103: | Line 103: | ||
---- | ---- | ||
EXAMPLE | ===EXAMPLE=== | ||
This example provides the input file and corresponding results for a confined triaxial compression (CTC) test using a single 8-node brick element and the Drucker-Prager | This example provides the input file and corresponding results for a confined triaxial compression (CTC) test using a single 8-node brick element and the Drucker-Prager constitutive model. | ||
<source lang="tcl"> | |||
######################################################### | |||
# # | |||
# File is generated for the purposes of testing the # | |||
# Drucker-Prager model --> conventional triaxial # | |||
# compression test # | |||
# # | |||
# Created: 03.16.2009 CRM # | |||
# Updated: 02.02.2010 CRM # | |||
# # | |||
# ---> Basic units used are kN and meters # | |||
# # | |||
######################################################### | |||
#------------------------------------------------------- | |||
# create the modelBuilder and build the model | |||
#------------------------------------------------------- | |||
wipe | |||
model BasicBuilder -ndm 3 -ndf 3 | |||
#--create the nodes | |||
node 1 1.0 0.0 0.0 | |||
node 2 1.0 1.0 0.0 | |||
node 3 0.0 1.0 0.0 | |||
node 4 0.0 0.0 0.0 | |||
node 5 1.0 0.0 1.0 | |||
node 6 1.0 1.0 1.0 | |||
node 7 0.0 1.0 1.0 | |||
node 8 0.0 0.0 1.0 | |||
#--triaxial test boundary conditions | |||
fix 1 0 1 1 | |||
fix 2 0 0 1 | |||
fix 3 1 0 1 | |||
fix 4 1 1 1 | |||
fix 5 0 1 0 | |||
fix 6 0 0 0 | |||
fix 7 1 0 0 | |||
fix 8 1 1 0 | |||
#--define material parameters for the model | |||
#---bulk modulus | |||
set k 27777.78 | |||
#---shear modulus | |||
set G 9259.26 | |||
#---yield stress | |||
set sigY 5.0 | |||
#---failure surface and associativity | |||
set rho 0.398 | |||
set rhoBar 0.398 | |||
#---isotropic hardening | |||
set Kinf 0.0 | |||
set Ko 0.0 | |||
set delta1 0.0 | |||
#---kinematic hardening | |||
set H 0.0 | |||
set theta 1.0 | |||
#---tension softening | |||
set delta2 0.0 | |||
#--material models | |||
# type tag k G sigY rho rhoBar Kinf Ko delta1 delta2 H theta | |||
nDMaterial DruckerPrager 2 $k $G $sigY $rho $rhoBar $Kinf $Ko $delta1 $delta2 $H $theta | |||
#--create the element | |||
# type tag nodes matID bforce1 bforce2 bforce3 massdensity | |||
element stdBrick 1 1 2 3 4 5 6 7 8 2 0.0 0.0 0.0 0 | |||
puts "model Built..." | |||
#------------------------------------------------------- | |||
# create the recorders | |||
#------------------------------------------------------- | |||
# record data at every ten time steps | |||
set step 10 | |||
# record nodal displacements | |||
recorder Node -file displacements1.out -time -dT $step -node all -dof 1 2 3 disp | |||
# record the element stress, strain, and state at one of the Gauss points | |||
recorder Element -ele 1 -time -file stress1.out -dT $step material 2 stress | |||
recorder Element -ele 1 -time -file strain1.out -dT $step material 2 strain | |||
recorder Element -ele 1 -time -file state1.out -dT $step material 2 state | |||
puts "recorders set..." | |||
#------------------------------------------------------- | |||
# create the loading | |||
#------------------------------------------------------- | |||
#--pressure and displacement magnitudes | |||
set p 200.0 | |||
set pNode [expr -$p/4] | |||
set L 1.0 | |||
set delta [expr (-1.0*$p)/(3.0*$k*$L)] | |||
puts "delta is $delta" | |||
#--loading object for hydrostatic pressure on the element | |||
pattern Plain 1 {Series -time {0 10 100} -values {0 1 1} -factor 1} { | |||
load 1 $pNode 0.0 0.0 | |||
load 2 $pNode $pNode 0.0 | |||
load 3 0.0 $pNode 0.0 | |||
load 5 $pNode 0.0 0.0 | |||
load 6 $pNode $pNode 0.0 | |||
load 7 0.0 $pNode 0.0 | |||
} | |||
#--loading object for CTC test | |||
pattern Plain 2 {Series -time {0 10 100} -values {0 1 20} -factor 1} { | |||
sp 5 3 $delta | |||
sp 6 3 $delta | |||
sp 7 3 $delta | |||
sp 8 3 $delta | |||
} | |||
#------------------------------------------------------- | |||
# create the analysis | |||
#------------------------------------------------------- | |||
integrator LoadControl 0.1 | |||
numberer RCM | |||
system BandGeneral | |||
constraints Transformation | |||
test NormDispIncr 1e-10 10 1 | |||
algorithm Newton | |||
analysis Static | |||
puts "starting the hydrostatic analysis..." | |||
set startT [clock seconds] | |||
analyze 1000 | |||
set endT [clock seconds] | |||
puts "triaxial shear application finished..." | |||
puts "loading analysis execution time: [expr $endT-$startT] seconds." | |||
wipe | |||
</source> | |||
---- | ---- | ||
Line 113: | Line 251: | ||
REFERENCES; | REFERENCES; | ||
Drucker, D. C. and Prager, W., "Soil mechanics and plastic analysis for limit design. Quarterly of Applied Mathematics, vol. 10, no. 2, pp. 157–165, 1952. | Drucker, D. C. and Prager, W., "Soil mechanics and plastic analysis for limit design." Quarterly of Applied Mathematics, vol. 10, no. 2, pp. 157–165, 1952. | ||
Chen, W. F. and Saleeb, A. F., Constitutive Equations for Engineering Materials Volume I: Elasticity and Modeling. Elsevier Science B.V., Amsterdam, 1994. | Chen, W. F. and Saleeb, A. F., Constitutive Equations for Engineering Materials Volume I: Elasticity and Modeling. Elsevier Science B.V., Amsterdam, 1994. |
Revision as of 21:31, 22 April 2010
- Command_Manual
- Tcl Commands
- Modeling_Commands
- model
- uniaxialMaterial
- ndMaterial
- frictionModel
- section
- geometricTransf
- element
- node
- sp commands
- mp commands
- timeSeries
- pattern
- mass
- block commands
- region
- rayleigh
- Analysis Commands
- Output Commands
- Misc Commands
- DataBase Commands
This command is used to construct an multi dimensional material object that has a Drucker-Prager yield criterium.
nDmaterial DruckerPrager $matTag $k $G $sigmaY $rho $rhoBar $Kinf $Ko $delta1 $delta2 $H $theta |
This Code has been Developed by: Peter Mackenzie, U Washington and the great Pedro Arduino, U Washington
$matTag | integer tag identifying material |
$k | bulk modulus |
$G | shear modulus |
$sigmaY | yield stress |
$rho | frictional strength parameter |
$rhoBar | controls evolution of plastic volume change, 0 ≤ $rhoBar ≤ $rho |
$Kinf | nonlinear isotropic strain hardening parameter, $Kinf ≥ 0 |
$Ko | nonlinear isotropic strain hardening parameter, $Ko ≥ 0 |
$delta1 | nonlinear isotropic strain hardening parameter, $delta1 ≥ 0 |
$delta2 | tension softening parameter, $delta2 ≥ 0 |
$H | linear strain hardening parameter, $H ≥ 0 |
$theta | controls relative proportions of isotropic and kinematic hardening, 0 ≤ $theta ≤ 1 |
The material formulations for the Drucker-Prager object are "ThreeDimensional," "PlaneStrain," "Plane Stress," "AxiSymmetric".
THEORY
The yield condition for the Drucker-Prager model can be expressed as
- <math> f\left(\mathbf{\sigma}, q^{iso}, \mathbf{q}^{kin}\right) = \left\| \mathbf{s} + \mathbf{q}^{kin} \right\| + \rho I_1 + \sqrt{\frac{2}{3}} q^{iso} - \sqrt{\frac{2}{3}} \sigma_Y^{} \leq 0
</math>
in which
- <math> \mathbf{s} = \mathrm{dev} (\mathbf{\sigma}) = \mathbf{\sigma} - \frac{1}{3} I_1 \mathbf{1}
</math>
is the deviatoric stress tensor,
- <math> I_1 = \mathrm{tr}(\mathbf{\sigma})
</math>
is the first invariant of the stress tensor, and the parameters <math>\rho_{}^{}</math> and <math>\sigma_Y^{}</math> are positive material constants.
The isotropic hardening stress is defined as
- <math> q^{iso} = \theta H \alpha^{iso} + (K_{\infty} - K_o) \exp(-\delta_1 \alpha^{iso})
</math>
The kinematic hardening stress (or back-stress) is defined as
- <math> \mathbf{q}^{kin} = -(1 - \theta) \frac{2}{3} H \mathbb{I}^{dev} : \mathbf{\alpha}^{kin}
</math>
The yield condition for the tension cutoff yield surface is defined as
- <math> f_2(\mathbf{\sigma}, q^{ten}) = I_1 + q^{ten} \leq 0
</math>
where
- <math> q^{ten} = T_o \exp(-\delta_2^{} \alpha^{ten})
</math>
and
- <math> T_o = \sqrt{\frac{2}{3}} \frac{\sigma_Y}{\rho}
</math>
Further, general, information on theory for the Drucker-Prager yield criterion can be found at wikipedia here
Note: The Drucker-Prager strength parameters <math> \rho </math> and <math> \sigma_Y </math> can be related to the Mohr-Coulomb friction angle, <math> \phi </math>, and cohesive intercept, <math> c </math>, by evaluating the yield surfaces in a deviatoric plane as described by Chen and Saleeb (1994). By relating the two yield surfaces in triaxial compression, the following expressions are determined
- <math> \rho = \frac{2 \sqrt{2} \sin \phi}{\sqrt{3} (3 - \sin \phi)}
</math>
- <math> \sigma_Y = \frac{6 c \cos \phi}{\sqrt{2} (3 - \sin \phi)}
</math>
EXAMPLE
This example provides the input file and corresponding results for a confined triaxial compression (CTC) test using a single 8-node brick element and the Drucker-Prager constitutive model.
#########################################################
# #
# File is generated for the purposes of testing the #
# Drucker-Prager model --> conventional triaxial #
# compression test #
# #
# Created: 03.16.2009 CRM #
# Updated: 02.02.2010 CRM #
# #
# ---> Basic units used are kN and meters #
# #
#########################################################
#-------------------------------------------------------
# create the modelBuilder and build the model
#-------------------------------------------------------
wipe
model BasicBuilder -ndm 3 -ndf 3
#--create the nodes
node 1 1.0 0.0 0.0
node 2 1.0 1.0 0.0
node 3 0.0 1.0 0.0
node 4 0.0 0.0 0.0
node 5 1.0 0.0 1.0
node 6 1.0 1.0 1.0
node 7 0.0 1.0 1.0
node 8 0.0 0.0 1.0
#--triaxial test boundary conditions
fix 1 0 1 1
fix 2 0 0 1
fix 3 1 0 1
fix 4 1 1 1
fix 5 0 1 0
fix 6 0 0 0
fix 7 1 0 0
fix 8 1 1 0
#--define material parameters for the model
#---bulk modulus
set k 27777.78
#---shear modulus
set G 9259.26
#---yield stress
set sigY 5.0
#---failure surface and associativity
set rho 0.398
set rhoBar 0.398
#---isotropic hardening
set Kinf 0.0
set Ko 0.0
set delta1 0.0
#---kinematic hardening
set H 0.0
set theta 1.0
#---tension softening
set delta2 0.0
#--material models
# type tag k G sigY rho rhoBar Kinf Ko delta1 delta2 H theta
nDMaterial DruckerPrager 2 $k $G $sigY $rho $rhoBar $Kinf $Ko $delta1 $delta2 $H $theta
#--create the element
# type tag nodes matID bforce1 bforce2 bforce3 massdensity
element stdBrick 1 1 2 3 4 5 6 7 8 2 0.0 0.0 0.0 0
puts "model Built..."
#-------------------------------------------------------
# create the recorders
#-------------------------------------------------------
# record data at every ten time steps
set step 10
# record nodal displacements
recorder Node -file displacements1.out -time -dT $step -node all -dof 1 2 3 disp
# record the element stress, strain, and state at one of the Gauss points
recorder Element -ele 1 -time -file stress1.out -dT $step material 2 stress
recorder Element -ele 1 -time -file strain1.out -dT $step material 2 strain
recorder Element -ele 1 -time -file state1.out -dT $step material 2 state
puts "recorders set..."
#-------------------------------------------------------
# create the loading
#-------------------------------------------------------
#--pressure and displacement magnitudes
set p 200.0
set pNode [expr -$p/4]
set L 1.0
set delta [expr (-1.0*$p)/(3.0*$k*$L)]
puts "delta is $delta"
#--loading object for hydrostatic pressure on the element
pattern Plain 1 {Series -time {0 10 100} -values {0 1 1} -factor 1} {
load 1 $pNode 0.0 0.0
load 2 $pNode $pNode 0.0
load 3 0.0 $pNode 0.0
load 5 $pNode 0.0 0.0
load 6 $pNode $pNode 0.0
load 7 0.0 $pNode 0.0
}
#--loading object for CTC test
pattern Plain 2 {Series -time {0 10 100} -values {0 1 20} -factor 1} {
sp 5 3 $delta
sp 6 3 $delta
sp 7 3 $delta
sp 8 3 $delta
}
#-------------------------------------------------------
# create the analysis
#-------------------------------------------------------
integrator LoadControl 0.1
numberer RCM
system BandGeneral
constraints Transformation
test NormDispIncr 1e-10 10 1
algorithm Newton
analysis Static
puts "starting the hydrostatic analysis..."
set startT [clock seconds]
analyze 1000
set endT [clock seconds]
puts "triaxial shear application finished..."
puts "loading analysis execution time: [expr $endT-$startT] seconds."
wipe
REFERENCES;
Drucker, D. C. and Prager, W., "Soil mechanics and plastic analysis for limit design." Quarterly of Applied Mathematics, vol. 10, no. 2, pp. 157–165, 1952.
Chen, W. F. and Saleeb, A. F., Constitutive Equations for Engineering Materials Volume I: Elasticity and Modeling. Elsevier Science B.V., Amsterdam, 1994.