problem with softening in drucker prager

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
saumyashah
Posts: 10
Joined: Wed Feb 03, 2016 5:34 am
Location: CEPT UNIVERSITY

problem with softening in drucker prager

Post by saumyashah »

hello everybody,

In the drucker prager material of opensees there is a constant To used for softening parameter delta2 is the value of constant correct
that value should not be maximum tensile strength of the material where it becomes plastic
please explain be the softening parameters in drucker prager

i have been applying softening on following problem and i stress-strain curve is not changing it remains plastic

please help me

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

#--uniaxial 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
set E 30760;

set v 0.2;

set G [expr $E/(2*(1+$v))];

set K [expr $E/(3*(1-2*$v))];


#---yield stress
set sigY 8.36
#---failure surface and associativity
set rho 0.67
set rhoBar 0.67
#---isotropic hardening
set Kinf 0.0
set Ko 0.0
set delta1 0.0
#---kinematic hardening
set H 0
set theta 1
#---tension softening
set delta2 300
#---mass density
set mDen 2.5

#--material models
# type tag k G sigY rho rhoBar Kinf Ko delta1 delta2 H theta density
nDMaterial DruckerPrager 2 $K $G $sigY $rho $rhoBar $Kinf $Ko $delta1 $delta2 $H $theta $mDen

#--create the element
# type tag nodes matID bforce1 bforce2 bforce3
element stdBrick 1 1 2 3 4 5 6 7 8 2 0.0 0.0 0.0

puts "model Built..."

#-------------------------------------------------------
# create the recorders
#-------------------------------------------------------
set step 0.1

# record nodal displacements
recorder Node -file displacementst.out -time -node 5 -dof 1 2 3 disp

# record the element stress, strain, and state at one of the Gauss points
recorder Element -ele 1 -time -file stress1tec.out material 2 stress
recorder Element -ele 1 -time -file strain1tec.out material 2 strain
recorder Element -ele 1 -time -file state1tec.out material 2 state


puts "recorders set..."

#-------------------------------------------------------
# create the loading
#-------------------------------------------------------

#--pressure magnitude
set p 10.0
set pNode [expr $p/4]

#--loading object for hydrostatic pressure
pattern Plain 1 "Linear" {
load 1 $pNode 0.0 0.0
load 2 $pNode 0.0 0.0

load 5 $pNode 0.0 0.0
load 6 $pNode 0.0 0.0

}

#--loading object deviator stress
#pattern Plain 2 {Series -time {0 10 100} -values {0 1 5} -factor 1} {
# load 5 0.0 0.0 $pNode
# load 6 0.0 0.0 $pNode
# load 7 0.0 0.0 $pNode
# load 8 0.0 0.0 $pNode
#}

#-------------------------------------------------------
# create the analysis
#-------------------------------------------------------
numberer RCM
system SparseGeneral
constraints Transformation
test NormDispIncr 1e-5 10 1
algorithm Newton
analysis Static



set dU 0.00001; # Displacement increment

# Change the integration scheme to be displacement control
# node dof init Jd min max
integrator DisplacementControl 5 1 $dU 1 $dU $dU

recorder Node -node 5 -time -file node5s.out -dof 1 disp;

set maxU 0.0050000; # Max displacement
set numSteps [expr int($maxU/$dU)]

# Perform the analysis
set ok [analyze $numSteps]

if {$ok != 0} {

set currentDisp [nodeDisp 5 1]
print currentDisp
set ok 0
while {$ok == 0 && $currentDisp < $maxU} {

set ok [analyze 1]

# if the analysis fails try initial tangent iteration
if {$ok != 0} {
puts "regular newton failed .. lets try an initail stiffness for this step"
test NormDispIncr 1.0e-12 2000 1
algorithm ModifiedNewton -initial
set ok [analyze 1]
if {$ok == 0} {puts "that worked .. back to regular newton"}
test NormDispIncr 1.0e-8 100
algorithm Newton
}

set currentDisp [nodeDisp 5 1]
}
}

puts "";
if {$ok == 0} {
puts "Pushover analysis completed SUCCESSFULLY";
} else {
puts "Pushover analysis FAILED";
}
mcganncr
Posts: 12
Joined: Tue May 27, 2008 4:22 pm
Location: University of Canterbury

Re: problem with softening in drucker prager

Post by mcganncr »

Check out Chapter 4 of this report (link below) for some information on how the OpenSees implementation of the Drucker-Prager model behaves under certain loading conditions. Specifically, the results shown here demonstrate how various values of the tension softening parameter change the model response in hydrostatic extension (see pages 79-80 of the document, which are pages 57-58 in the report page numbering scheme). As shown by the results and the theory of the model, the softening follows an exponential function with increasing tensile strain. Larger values for the softening parameter will result in more dramatic softening behaviour, while using a zero value will display a perfectly plastic response.

http://peer.berkeley.edu/publications/p ... rduino.pdf

Hope this helps,

Chris
Post Reply