PM4Sand Material: Difference between revisions

From OpenSeesWiki
Jump to navigation Jump to search
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{CommandManualMenu}}
{{CommandManualMenu}}
* '''This page has been moved to the new [https://opensees.github.io/OpenSeesDocumentation/user/manual/material/ndMaterials/PM4Sand.html OpenSees documentation site]'''


This command is used to construct a 2-dimensional PM4Sand material.
This command is used to construct a 2-dimensional PM4Sand material.
Line 11: Line 12:
|-
|-
|-
|-
|  '''Primary''':
| style="padding-left: 2em;"|  '''Primary''':
|-
|-
|  '''$Dr ''' || Relative density, in fraction
|  '''$Dr ''' || Relative density, in fraction
Line 21: Line 22:
|  '''$Den ''' || Mass density of the material
|  '''$Den ''' || Mass density of the material
|-
|-
| '''Secondary''':
| style="padding-left: 2em;"| '''Secondary''':
|-
|-
|  '''$P_atm ''' || ''Optional'', Atmospheric pressure
|  '''$P_atm ''' || ''Optional'', Atmospheric pressure
Line 66: Line 67:
----
----


Code Developed by: <span style="color:blue">Long Chen, [http://www.ce.washington.edu/people/faculty/bios/arduino_p.html Pedro Arduino, U Washington]</span>
Code Developed by: <span style="color:blue">Long Chen, [https://www.ce.washington.edu/people/faculty/arduinop Pedro Arduino, U Washington]</span>


----  
----  


==Notes==  
==Notes==  
* '''This page has been moved to the new [https://opensees.github.io/OpenSeesDocumentation/user/manual/material/ndMaterials/PM4Sand.html OpenSees documentation site]'''
* Valid Element Recorder queries are  
* Valid Element Recorder queries are  
** '''stress''', '''strain'''
** '''stress''', '''strain'''
Line 86: Line 89:
|}
|}


* If default values are used for secondary parameters, the model must be initialized after elastic gravity stage by
* The program will use the default value of a secondary parameter if a negative input is assigned to that parameter, e.g. Ado = -1. However, FirstCall is mandatory when switching from elastic to elastoplastic if negative inputs are assigned to stress-dependent secondary parameters, e.g. Ado and zmax. FirstCall can be set as, 
setParameter -value 0 -ele $elementTag FirstCall $matTag
setParameter -value 0 -ele $elementTag FirstCall $matTag


* Post-shake reconsolidation can be activated by
* Post-shake reconsolidation can be activated by
setParameter -value 0 -ele $elementTag Postshake $matTag
setParameter -value 1 -ele $elementTag Postshake $matTag


* The user should check that the results are not sensitive to time step size.


==Example==
==Example==


This example, provides an undrained confined direct simple shear test using one 4-node SSPQuadUP element and PM4Sand material model.
<table border=1 width=600>
 
   <tr>
 
    <td width=90>[[PM4Sand-Example 1|Example 1]] </td>
<source lang="tcl">
# 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 {
    <td>2D undrained monotonic direct simple shear test using one element</td>
sp 3 1 $devDisp
  </tr>
}"
  <tr>
# update Poisson's ratio for analysis
    <td>[[PM4Sand-Example 2|Example 2]]</td>
setParameter -value 0.3 -ele 1 poissonRatio 1
    <td>2D undrained cyclic direct simple shear test using one element</td>
analyze 5000 1
  </tr>


wipe
</table>
</source>


==References==
==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
R.W.Boulanger, K.Ziotopoulou. "PM4Sand(Version 3.1): A Sand Plasticity Model for Earthquake Engineering Applications". Report No. UCD/CGM-17/01 2017

Latest revision as of 06:44, 9 February 2021




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
  • The program will use the default value of a secondary parameter if a negative input is assigned to that parameter, e.g. Ado = -1. However, FirstCall is mandatory when switching from elastic to elastoplastic if negative inputs are assigned to stress-dependent secondary parameters, e.g. Ado and zmax. FirstCall can be set as,

setParameter -value 0 -ele $elementTag FirstCall $matTag

  • Post-shake reconsolidation can be activated by

setParameter -value 1 -ele $elementTag Postshake $matTag

  • The user should check that the results are not sensitive to time step size.

Example

Example 1 2D undrained monotonic direct simple shear test using one element
Example 2 2D undrained cyclic direct simple shear test using one element

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