WIPP-Drucker Model: Compression Test Showing Localization

Note

To view this project in 3DEC, use the menu command Help ► Examples…. Choose “CreepMaterialModels/CompressionWIPP” and select “CompressionWIPP.prj” to load. The project’s main data files are shown at the end of this example.

A compression test is performed with the viscoplastic model (WIPP-Drucker model) to demonstrate that the model is capable of simulating localization given an appropriate loading rate.

It causes 3DEC to perform an unconfined compression test on a sample in which one of the material strength parameters (cohesion-drucker) reduces with increasing plastic strain. Under a low strain-rate, the response is monotonic, and the sample deforms in a uniform manner (Figure 1). If a similar test is performed at ten times the rate, localization occurs, even though the same boundary displacement is applied. Figure Figure #compression-wipp-drucker-fast-3dec shows that shear bands have formed in the rapid-loading case. The maximum load is nearly the same for the two loading-rate tests. However, the latter test exhibits global softening behavior.

../../../../../_images/wipp_compression_slow.png

Figure 1: Contours of maximum shear strain for slow-loading case.

3dec/block/test3d/Creep_Material_Models/CompressionWipp/wipp_compression_fast.png

Figure 2: Contours of maximum shear strain for rapid-loading case.

Data Files

CompressionWipp.dat

model new
model random 10000
; File: CompressionWipp.dat
; Uniaxial compression test using wipp creep model
;
model configure creep
model large-strain off
block create brick 0 20 0 1 0 60
block zone generate edgelength 1
block zone nodal-mixed-discretization on
model save 'zones'

; identify top and bottom gridpoints
block gridpoint group 'top' range position-z 60
block gridpoint group 'bottom' range position-z 0

; set up lists forigin recording load and displacements
[global top_gps = block.gp.list(block.gp.isgroup(::block.gp.list,'top'))]
[global bottom_gps = block.gp.list(block.gp.isgroup(::block.gp.list,'bottom'))]

[global max_strength = 3.5e6]
[global soft_rep=0]
program call 'fishfunctions.fis'

block zone cmodel assign wipp-drucker
block zone property density 2.6E3 bulk 2.07E10 shear 1.24E10 ...
  activation-energy 1.2E4 constant-a 4.56 constant-b 127 ...
  constant-d 5.79E-36 creep-rate-critical 5.39E-8 constant-gas 1.987 ...
  exponent 4.9 temperature 300 friction-drucker 0.75 ...
  cohesion-drucker [max_strength] dilation-drucker 0 tension 1E15

block gridpoint apply velocity-x 0 velocity-y 0 range group 'top'
block gridpoint apply velocity-x 0 velocity-y 0 range group 'bottom'
block gridpoint apply velocity-y 0 range position-y 0
block gridpoint apply velocity-y 0 range position-y 1

model history creep time-total
fish history load
fish history displacement
block gridpoint apply velocity-z -5e-7 range group 'top'
block gridpoint apply velocity-z 5e-7 range group 'bottom'
block gridpoint initialize velocity-z 5e-7 gradient 0.0 0 -1.66E-8

model save 'wipp_compression_init'
==================================================
;
; slow option
model restore 'wipp_compression_init'
model title 'Slow Uniaxial Compression'
model creep timestep starting 10.0
model creep timestep fix 10.0
model cycle 12500
model save 'wipp_compression_slow'

============================================
;
; rapid option
model restore 'wipp_compression_init'
model title 'Rapid Uniaxial Compression'
block gridpoint apply velocity-z -5e-6 range position-z 60
block gridpoint apply velocity-z 5e-6 range position-z 0
block gridpoint initialize velocity-z 5e-6 gradient 0.0 0 -1.66E-7
model creep timestep starting 5.0
model creep timestep fix 5.0
model cycle 5000
model save 'wipp_compression_rapid'
program return