zerolengthcontact3D model about pile-soil

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
xiuyingjin
Posts: 2
Joined: Wed Oct 17, 2012 11:43 pm
Location: Hanyang University

zerolengthcontact3D model about pile-soil

Post by xiuyingjin »

i am now model soil pile interction with 3D model, the pile is used beam element ,soil is used the solid elements and between two body use rigidlink element and the interface element use zerolength3D elements. but this model now has some error, but i cannot find the reason. i simpled my coding below ....please help me :( :( :( !!!

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 >
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: zerolengthcontact3D model about pile-soil

Post by vesna »

If your analysis does not go even through a step of the analysis there is most probably a problem with your model.

Look at the examples posted on the OpenSees wiki. You may find something similar to what you are doing.
Post Reply