Thank you in advance!!
Code: Select all
#SI units (m, s, KN, ton)
#
#
# 4
# ------- 3
# | |
# | |
# | |
# 1-------2 (nodes 1 and 2 fixed)
# ^ ^
# <--> input motion: sinusoidal acceleration at base
wipe
#
#some user defined variables
#
set accMul 2 ;# acceleration multiplier
set massDen 1.0 ;# solid mass density
set fluidDen 0.0 ;# fluid mass density
set massProportionalDamping 0.0 ;
set stiffnessProportionalDamping 0.001 ;
set fangle 31.40 ;#friction angle
set ptangle 26.50 ;#phase transformation angle
set E 90000.0 ;#shear modulus
set poisson 0.40 ;
set G [expr $E/(2*(1+$poisson))] ;
set B [expr $E/(3*(1-2*$poisson))] ;
set press 0.0 ;# isotropic consolidation pressure on quad element(s)
set deltaT 0.010 ;# time step for analysis
set numSteps 2000 ;# Number of analysis steps
set gamma1 0.5
set gamma 0.600 ;# Newmark integration parameter
set period 1 ;# Period of applied sinusoidal load
set pi 3.1415926535 ;
set inclination 0 ;
set unitWeightX [expr ($massDen-$fluidDen)*9.81*sin($inclination/180.0*$pi)] ;# unit weight in X direction
set unitWeightY [expr -($massDen-$fluidDen)*9.81*cos($inclination/180.0*$pi)] ;# unit weight in Y direction
#############################################################
#create the ModelBuilder
model basic -ndm 2 -ndf 2
nDMaterial ElasticIsotropic 1 10000 0.4 6.75 ; #: 质量块用线弹性模型模拟
# nDMaterial J2Plasticity 1 10000 5000 20000 400000 0.5 0.8
# define the nodes
node 1 0.0D0 0.0D0
node 2 1.0D0 0.0D0
node 3 1.0D0 1.0D0
node 4 0.0D0 1.0D0
# define the element thick material maTag press mDensity gravity
element quad 1 1 2 3 4 1.0 "PlaneStrain" 1 $press 0. $unitWeightX $unitWeightY
# fix the base
fix 1 1 1
fix 2 1 1
#tie nodes 3 and 4
# equalDOF 3 4 1 2
#:---------------------------------------------
#############################################################
# GRAVITY APPLICATION (elastic behavior)
# create the SOE, ConstraintHandler, Integrator, Algorithm and Numberer
system ProfileSPD
test NormDispIncr 1.D-12 25 0
constraints Transformation
integrator LoadControl 0.1
algorithm Newton
numberer RCM
# create the Analysis
analysis Static
recorder Node -file disp21_g.out -time -node 3 -dof 1 -dT 0.1 disp
recorder Node -file reaction21_g.out -time -node 1 2 -dof 1 2 -dT 0.1 reaction
recorder Element -ele 1 -file strain_g3.out -time material 3 strain -dT 0.1
recorder Element -ele 1 -file stress_g3.out -time material 3 stress -dT 0.1
#analyze
analyze 2
wipeAnalysis
# create a LoadPattern with a Linear time series
pattern Plain 10 "Linear" {
load 3 10 0.0 ;#load applied in x direction
}
recorder Element -ele 1 -time -file stress3.out material 3 stress -dT 0.01
recorder Element -ele 1 -time -file strain3.out material 3 strain -dT 0.01
# create the Analysis
constraints Transformation; # Penalty 1.0e18 1.0e18 ;#
test NormDispIncr 1.e-12 25 0
algorithm Newton
numberer RCM
system ProfileSPD
integrator Newmark $gamma [expr pow($gamma+0.5, 2)/4] \
$massProportionalDamping 0.0 $stiffnessProportionalDamping 0.0
analysis VariableTransient
#analyze
set startT [clock seconds]
analyze $numSteps $deltaT [expr $deltaT/100] $deltaT 10
set endT [clock seconds]
puts "Execution time: [expr $endT-$startT] seconds."
wipe #flush ouput stream