3.1.6.12. J2CyclicBoundingSurface Material

Code Developed by: Alborz Ghofrani and Pedro Arduino at U.Washington.

This command is used to construct a J2CyclicBoundingSurface material ([Borja-Amies1994]).

J2CyclicBoundingSurface $matTag $G $K $Su $Den $h $m $h0 $chi $beta

Argument

Type

Description

$matTag

integer

tag identifying material

$G

float

Shear modulus

$K

float

Bulk modulus

$su

float

Undrained shear strength

$Den

float

Mass density of the material

$h

float

Hardening parameter

$m

float

Hardening exponent

$h0

float

Initial hardening parameter

$chi

float

Initial damping (viscous). chi = 2*dr_o/omega (dr_o = damping ratio at zero strain, omega = angular frequency)

$beta

float

Integration variable (0 = explicit, 1 = implicit, 0.5 = midpoint rule)

Note

The material formulations for the J2CyclicBoundingSurface object are “ThreeDimensional” and “PlaneStrain”.

Valid Element Recorder queries are stress, strain

Elastic response could be enforced by

updateMaterialStage -material $matTag -stage 0

Elastoplastic by

updateMaterialStage -material $matTag -stage 1
Borja-Amies1994

Borja R., Amies A., “Multiaxial Cyclic Plasticity Model for Clays”. Journal of Geotech. Engrg., 1994, 120(6):1051-1070

Example 1

This example, provides an conventional triaxial compression test using one 8-node SSPBrick element and J2CyclicBoundingSurface material model.

# HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH #
# 3D Conventional Triaxial Compression Test Using One Element              #
# University of Washington, Department of Civil and Environmental Eng      #
# Computational Geotechnics Eng Group, A. Ghofrani, P. Arduino - Dec 2013  #
# Basic units are m, Ton(metric), s		     			   #
# HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH #
 
set strains {0.05}

for {set ii 0} {$ii < [llength $strains]} {incr ii} {
	# debug material model 
	wipe

	# #################################
	# build model: -ndm 3  -ndf 3
	# #################################
	model BasicBuilder -ndm 3 -ndf 3

	# create the materials
	node 1  0.00000000 0.00000000 0.00000000
	node 2  0.00000000 1.00000000 0.00000000 
	node 3  1.00000000 1.00000000 0.00000000 
	node 4  1.00000000 0.00000000 0.00000000 
	node 5  0.00000000 0.00000000 1.00000000 
	node 6  0.00000000 1.00000000 1.00000000 
	node 7  1.00000000 1.00000000 1.00000000 
	node 8  1.00000000 0.00000000 1.00000000 


	# create the materials

	set E 20000.0
	set nu 0.499
	set G [expr $E / 2.0 / (1 + $nu)]
	set K [expr $E / 3.0 / (1 - 2.0 * $nu)]

	set R [expr 100.0]
	set su [expr sqrt(3.0 / 8.0) * $R]
	# nDMaterial ElasticIsotropic 1 100000 0.3 
	# nDMaterial J2CyclicBoundingSurface  tag? G? K? su? rho? h? m? h0? chi? beta? in kpa
	nDMaterial J2CyclicBoundingSurface 1 $G $K $su 1.7 $G 1.0 0.2 0.0 0.5

	# create the elements
	element SSPbrick    1    1 4 3 2 5 8 7 6   1

	# create the fixities
	fix     1      1   1   1 
	fix     2      1   0   1
	fix     3      0   0   1
	fix     4      0   1   1
	fix     5      1   1   0 
	fix     6      1   0   0
	fix     7      0   0   0
	fix     8      0   1   0

	# recorders
	recorder Node     -file "displacement.out"  -nodeRange 1 8 -dof 1 2 3 disp
	recorder Node     -file "velocity.out"      -nodeRange 1 8 -dof 1 2 3 vel
	recorder Node     -file "reactions.out"     -nodeRange 1 8 -dof 1 2 3 reaction
	recorder Element  -file "stress.out"     -ele 1  stress
	recorder Element  -file "strain.out"     -ele 1  strain
	 
	# load pattern
	pattern Plain 1 {Series -time {0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0} -values {0.0 1.0 0.0 -1.0 0.0 1.0 0.0 -1.0 0.0} -factor -1.0} {
		sp 5 3 [lindex $strains $ii]
		sp 6 3 [lindex $strains $ii]
		sp 7 3 [lindex $strains $ii]
		sp 8 3 [lindex $strains $ii]
	}

	# analysis
	constraints Transformation
	test        NormDispIncr 1e-9 50 1
	algorithm   Newton
	numberer    Plain
	system      SparseSPD
	integrator  LoadControl 0.004
	analysis    Static
	 
	analyze    2000

	wipe