PM4Sand Material
- 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 a 2-dimensional PM4Sand material.
nDmaterial PM4Sand $matTag $Dr $G0 $hpo $Den <$patm $h0 $emax $emin $nb $nd $Ado $zmax $cz $ce $phic $nu $cgd $cdr $ckaf $Q $R $m $Fsed_min $p_sedo> |
$matTag | integer tag identifying material |
Primary: | |
$Dr | Relative density, in fraction |
$G0 | Shear modulus constant |
$hpo | Contraction rate parameter |
$Den | Mass density of the material |
Secondary: | |
$P_atm | Optional, Atmospheric pressure |
$h0 | Optional, Variable that adjusts the ratio of plastic modulus to elastic modulus |
$emax and $emin | Optional, Maximum and minimum void ratios |
$nb | Optional, Bounding surface parameter, $nb ≥ 0 |
$nd | Optional, Dilatancy surface parameter $nd ≥ 0 |
$Ado | Optional, Dilatancy parameter, will be computed at the time of initialization if input value is negative |
$z_max | Optional, Fabric-dilatancy tensor parameter |
$cz | Optional, Fabric-dilatancy tensor parameter |
$ce | Optional, Variable that adjusts the rate of strain accumulation in cyclic loading |
$phic | Optional, Critical state effective friction angle |
$nu | Optional, Poisson's ratio |
$cgd | Optional, Variable that adjusts degradation of elastic modulus with accumulation of fabric |
$cdr | Optional, Variable that controls the rotated dilatancy surface |
$ckaf | Optional, Variable that controls the effect that sustained static shear stresses have on plastic modulus |
$Q | Optional, Critical state line parameter |
$R | Optional, Critical state line parameter |
$m | Optional, Yield surface constant (radius of yield surface in stress ratio space) |
$Fsed_min | Optional, Variable that controls the minimum value the reduction factor of the elastic moduli can get during reconsolidation |
$p_sedo | Optional, Mean effective stress up to which reconsolidation strains are enhanced |
The material formulation for the PM4Sand object is "PlaneStrain"
Code Developed by: Long Chen, Pedro Arduino, U Washington
Notes
- Valid Element Recorder queries are
- stress, strain
- alpha (or backstressratio) for <math>\mathbf{\alpha}</math>
- fabric for <math>\mathbf{z}</math>
- alpha_in (or alphain) for <math>\mathbf{\alpha_{in}}</math>
e.g. recorder Element -eleRange 1 $numElem -time -file stress.out stress
- Elastic or Elastoplastic response could be enforced by
Elastic: updateMaterialStage -material $matTag -stage 0 Elastoplastic: updateMaterialStage -material $matTag -stage 1
- If default values are used for secondary parameters, the model must be initialized after elastic gravity stage by
setParameter -value 0 -ele $elementTag FirstCall $matTag
- Post-shake reconsolidation can be activated by
setParameter -value 0 -ele $elementTag Postshake $matTag
Example
This example, provides an undrained confined direct simple shear test using one 4-node SSPQuadUP element and PM4Sand material model.
# HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH #
# 2D Undrained Direct Simple Shear Test Using One Element #
# University of Washington, Department of Civil and Environmental Eng #
# Geotechnical Eng Group, L. Chen, P. Arduino - Jan 2018 #
# Basic Units are m, kN and s unless otherwise specified #
# HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH #
wipe
# ------------------------ #
# Test Specific parameters #
# ------------------------ #
# Initial Vertical Stress
set sigvo -101.3
set K0 0.5
# set Poisson's ratio to match user specified K0
set nu [expr $K0 / (1+$K0)]
# Deviatoric strain (Cyclic)
set devDisp 0.10
# Permeablity
set perm 1.0e-9
# Initial void ratio
# relative density
set Dr 0.35
# max and min void ratio
set emax 0.8
set emin 0.5
set eInit [expr $emax - ($emax - $emin)*$Dr ]
# other primary parameters
set G0 476.0
set hpo 0.53
set rho 1.42
# Rayleigh damping parameter
set damp 0.02
set omega1 0.2
set omega2 20.0
set a1 [expr 2.0*$damp/($omega1+$omega2)]
set a0 [expr $a1*$omega1*$omega2]
# HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
# HHHHHHHHHHHHHHHHHHHHHHHHHHHCreate ModelHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
# HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
# Create a 2D model with 3 Degrees of Freedom
model BasicBuilder -ndm 2 -ndf 3
# Create nodes
node 1 0.0 0.0
node 2 1.0 0.0
node 3 1.0 1.0
node 4 0.0 1.0
# Create Fixities
fix 1 1 1 1
fix 2 1 1 1
fix 3 0 0 1
fix 4 0 0 1
equalDOF 3 4 1 2
# Create material
# PM4Sand tag Dr G0 hpo den Patm h0 emax emin nb nd Ado zmax cz ce phicv nu
nDMaterial PM4Sand 1 $Dr $G0 $hpo $rho 101.3 -1.00 $emax $emin 0.5 0.1 -1.0 -1.0 250.0 -1.00 33.0 $nu
# Create element
element SSPquadUP 1 1 2 3 4 1 1.0 2.2e6 1.0 $perm $perm $eInit 1.0e-5
# Create recorders
recorder Node -nodeRange 1 4 -time -file Cycdisp.out -dof 1 2 disp
recorder Node -nodeRange 1 4 -time -file Cycpress.out -dof 3 vel
recorder Element -ele 1 -time -file Cycstress.out stress
recorder Element -ele 1 -time -file Cycstrain.out strain
# Create analysis
constraints Transformation
test NormDispIncr 1.0e-5 35 1
algorithm Newton
numberer RCM
system BandGeneral
integrator Newmark [expr 5.0 / 6.0] [expr 4.0 / 9.0]
rayleigh $a0 $a1 0.0 0.0
analysis Transient
# Apply consolidation pressure
set pNode [expr $sigvo / 2.0]
pattern Plain 1 {Series -time {0 100 1e10} -values {0 1 1} -factor 1} {
load 3 0.0 $pNode 0.0
load 4 0.0 $pNode 0.0
}
updateMaterialStage -material 1 -stage 0
analyze 100 1
set vDisp [nodeDisp 3 2]
set ts1 "{Series -time {100 80000 1.0e10} -values {1.0 1.0 1.0} -factor 1}"
eval "pattern Plain 2 $ts1 {
sp 3 2 $vDisp
sp 4 2 $vDisp
}"
# Close drainage valves
for {set x 1} {$x< 5} {incr x} {
remove sp $x 3
}
analyze 25 1
puts "Removed drainage fixities."
updateMaterialStage -material 1 -stage 1
setParameter -value 0 -ele 1 FirstCall 1
analyze 25 1
puts "finished update fixties"
set ts2 "{Series -time {150 5150 1.0e10} -values {0.0 1.0 1.0} -factor 1}"
eval "pattern Plain 3 $ts2 {
sp 3 1 $devDisp
}"
# update Poisson's ratio for analysis
setParameter -value 0.3 -ele 1 poissonRatio 1
analyze 5000 1
wipe
References
R.W.Boulanger, K.Ziotopoulou. "PM4Sand(Version 3.1): A Sand Plasticity Model for Earthquake Engineering Applications". Report No. UCD/CGM-17/01 2017