wipe
#======================================================================
# Basic units are kN and meters and kpa
#======================================================================
model BasicBuilder -ndm 3 -ndf 3
#==================================
#node
#==================================
node 1 0 0 0
node 2 1 0 0
node 3 2 0 0
node 4 3 0 0
node 5 4 0 0
node 6 5 0 0
node 7 6 0 0
node 8 7 0 0
node 9 8 0 0
node 10 9 0 0
node 11 10 0 0
node 12 11 0 0
node 13 12 0 0
node 14 13 0 0
node 15 14 0 0
········
#============================
#soil material
#============================
set mClay 1.6
set friangle1 0
set Clay [expr -9.81*($mClay-0)]
set EClay 1000
set pClay 0.4
set GClay [expr $EClay/(2*(1+$pClay))]
set BClay [expr $EClay/(3*(1-2*$pClay))]
nDMaterial PressureIndependMultiYield 1 3 $mClay $GClay $BClay 30 0.1 0 100 0 20
set rock [expr -9.81*$mRock]
#====================================
#fix condition
#====================================
#bed
fix 1 1 1 1
fix 2 1 1 1
fix 3 1 1 1
fix 4 1 1 1
fix 5 1 1 1
·······
#left side, right side, front side, back side,
fix 234 1 1 0
fix 249 1 1 0
fix 264 1 1 0
fix 279 1 1 0
fix 294 1 1 0
········
#================================
#soil elements with pile hole
#================================
·········
element bbarBrick 4631 4880 4879 4864 4865 4647 4646 4631 4632 1 0 0 $clay
element bbarBrick 4632 4881 4880 4865 4866 4648 4647 4632 4633 1 0 0 $clay
element bbarBrick 4633 4882 4881 4866 4867 4649 4648 4633 4634 1 0 0 $clay
element bbarBrick 4634 4883 4882 4867 4868 4650 4649 4634 4635 1 0 0 $clay
element bbarBrick 4635 4884 4883 4868 4869 4651 4650 4635 4636 1 0 0 $clay
element bbarBrick 4636 4885 4884 4869 4870 4652 4651 4636 4637 1 0 0 $clay
·········
#================================
#zerolengthcontact element node
#================================
#master node
node 8001 6.7 7 5
node 8002 6.7 7 6
node 8003 6.7 7 7
node 8004 6.7 7 8
······
#slave node
node 9001 6.7 7 5
node 9002 6.7 7 6
node 9003 6.7 7 7
node 9004 6.7 7 8
······
#================================
#zerolengthcontact3D elements
#================================
element zeroLengthContact3D 8001 9001 8001 $Kn5 $Kt5 $mu5 $c5 $dir
element zeroLengthContact3D 8002 9002 8002 $Kn4 $Kt4 $mu4 $c4 $dir
element zeroLengthContact3D 8003 9003 8003 $Kn3 $Kt3 $mu3 $c3 $dir
element zeroLengthContact3D 8004 9004 8004 $Kn3 $Kt3 $mu3 $c3 $dir
···············
#=================================
#tie the node to surrounding soil
#=================================
equalDOF 1391 9001 1 2 3
equalDOF 1624 9002 1 2 3
equalDOF 1857 9003 1 2 3
equalDOF 2090 9004 1 2 3
········
#=====
#pile
#=====
model BasicBuilder -ndm 3 -ndf 6
#=================================
#pile node
#=================================
node 6001 7 7 5
node 6002 7 7 6
node 6003 7 7 7
node 6004 7 7 8
node 6005 7 7 9
········
#=================================
#pile elements
#=================================
element dispBeamColumn 6001 6001 6002 $secTag3D 3 1
element dispBeamColumn 6002 6002 6003 $secTag3D 3 1
element dispBeamColumn 6003 6003 6004 $secTag3D 3 1
element dispBeamColumn 6004 6004 6005 $secTag3D 3 1
·········
#=================================
#pile boundary conditions
#=================================
fix 6001 0 1 0 1 0 1
fix 6002 0 1 0 1 0 1
fix 6003 0 1 0 1 0 1
fix 6004 0 1 0 1 0 1
fix 6005 0 1 0 1 0 1
··············
#==================================
#rigidlink node
#==================================
node 7001 6.7 7 5
node 7002 6.7 7 6
node 7003 6.7 7 7
node 7004 6.7 7 8
···········
#==================================
#rigidlink
#==================================
rigidLink beam 6001 7001
rigidLink beam 6002 7002
rigidLink beam 6003 7003
rigidLink beam 6004 7004
········
#===================================
#transform the DOF from pile to soil
#===================================
equalDOF 7001 8001 1 2 3
equalDOF 7002 8002 1 2 3
equalDOF 7003 8003 1 2 3
equalDOF 7004 8004 1 2 3
#===================================
#recorder
#===================================
set timeStep 0.1
# record displacements at pile nodes
recorder Node -file pileDisp.txt -time -nodeRange 6001 6016 -dof 1 -dT $timeStep disp
#===================================
#analysis
#===================================
#========================================================================
# GRAVITY APPLICATION (elastic behavior)
#========================================================================
# create the SOE, ConstraintHandler, Integrator, Algorithm and Numberer
constraints Penalty 10e15 10e15;
numberer Plain;
system SparseGeneral;
test NormDispIncr 1.0e-6 100 1
algorithm Newton
integrator LoadControl 1
analysis Static
InitialStateAnalysis on
analyze 4
puts "create the gravity analysis"
InitialStateAnalysis off
#----------------------------------------------------------
# create the loading
#----------------------------------------------------------
setTime 0.0 ;# reset time, otherwise reference time is not zero for time history analysis
wipeAnalysis
# apply point load at the uppermost pile node in the x-direction
pattern Plain 1 {Series -time {0 10 11 10000} -values {0 0 1 1} -factor 1} {
load 6017 30 0.0 0.0 0.0 0.0 0.0
}
puts "Finished creating loading object..."
#----------------------------------------------------------
# create the analysis
#----------------------------------------------------------
setTime 10
integrator LoadControl 0.1
test NormDispIncr 1.e-6 100 1
algorithm KrylovNewton
numberer RCM;
constraints Penalty 10e15 10e15
system SparseGeneral
analysis Static
set startT [clock seconds]
puts "Starting Load Application..."
analyze 10
set endT [clock seconds]
puts "Load Application finished..."
puts "Loading Analysis execution time: [expr $endT-$startT] seconds."
wipe
the error information is :
WARNING SuperLU::solve(void)- Error 1 returned in factorization dgstrf()
WARNING NewtonRaphson::solveCurrentStep() -the LinearSysOfEqn failed in solve()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at
load factor 1
OpenSees > analyze failed, returned: -3 error flag
create the gravity analysis
InitialStateAnalysis OFF
Finished creating loading object...
Starting Load Application...
WARNING BandGenLinLapackSolver::solve() -LAPACK routine returned 1
WARNING AcceleratedNewton::solveCurrentStep() -the LinearSysOfEqn failed in solv
e()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at
load factor 10.1
OpenSees > analyze failed, returned: -3 error flag
Load Application finished...
Loading Analysis execution time: 23 seconds.
finished analysis...
OpenSees >