Single-Zone Unconfined Compression Test with IMASS Model
Note
To view this project in FLAC3D, use the menu command . Choose “Imass/ UnconfinedCompression” and select “UnconfinedCompression.prj” to load. The project’s main data file is shown at the end of this example.
This example is created for inspection of the IMASS constitutive behavior at zone scale. It allows for simulation of unconfined or confined compressive strength testing of a single zone. Try turning different flags on or off or changing some input properties such as in_weak_multecrit and see how it changes the stress-strain response of the zone under the specified loading condition.
The stress-strain response of a zone with the given input parameters in the example is shown in Figure 1. It can be seen that after yielding the zone quickly reaches its post-peak strength at approximately 0.8% axial strain but it requires further straining to reach the ultimate strength at a VSI of 0.67. In Figure 2 and Figure 3, the cohesion is observed to weaken and friction angle is mobilized, respectively as the zone reaches its post-peak strength. From that point the friction angle will decrease to reach the basic friction angle with further straining at VSI = 0.67.
Data File
UnconfinedCompression.dat
model new
model large-strain off
model configure imass
;
[global cofStress = 0.0] ; should be <= 0
[global appliedVelocity = 1.e-6]
;
zone create brick size 1 1 1
;
zone cmodel assign imass
;
zone initialize stress xx [cofStress] yy [cofStress] zz [cofStress]
zone initialize density 2600
;
zone property in_stren_gsi 70.0
zone property in_stren_ucsi 100.0e6
zone property in_stren_mi 15.0
zone property in_mod_youngintact 40e9
zone property in_weak_multecrit 0.25
zone property flag_bulking_denadj on
; boundary conditions
zone gridpoint initialize velocity (0,0,0)
zone gridpoint fix velocity-z range position-z 0.0
;
zone face apply stress-xx [cofStress] range position-x 0.0
zone face apply stress-xx [cofStress] range position-x 0.0
zone face apply stress-yy [cofStress] range position-y 1.0
zone face apply stress-yy [cofStress] range position-y 1.0
; histories
[global gpPtr = gp.near(1,1,1)]
[global znPtr = zone.head]
fish define axialStrain
global axialStrain = -gp.disp.z(gpPtr)*100.0 ; percentage
global sloss = zone.prop(zone.head, "emer_weak_sloss")
global vsi = zone.prop(zone.head, "emer_bulking_totvsi")
global coh = zone.prop(zone.head, "emer_stren_mccoh")
global fric = zone.prop(zone.head, "emer_stren_mcfric")
global dens = zone.prop(zone.head, "emer_bulking_den")
global modulus = zone.prop(zone.head, "emer_mod_young")
global s1 = zone.stress.zz(znPtr)
global s3 = zone.stress.xx(znPtr)
end
[axialStrain]
; loading
zone face apply velocity-z [-appliedVelocity] range position-z 1.0
;
model history mechanical unbalanced-maximum
fish history axialStrain
fish history sloss
fish history vsi
fish history coh
fish history fric
fish history s1
fish history s3
fish history dens
fish history modulus
;
model cycle 100000
model save 'UnconfinedCompression.sav'
Was this helpful? ... | PFC © 2021, Itasca | Updated: Feb 25, 2024 |