Venue Stampede is now available for Batchsubmit.

Support

Support Options

Submit a Support Ticket

 

Questions and Answers

Status: Accepting answers

0 Like

Gangjin Li

3 error flag

Hi,

I am building a 2D soil model with 9_4_quadup element and PressureDependYield02 material. I have a problem. During the analysis, these errors come up.

WARNING: AcceleratedNewton::solveCurrentStep()the LinearSysofEqn failed in solve ()

NewtonRaphson
solveCurrentStep() -the Convergence Test object failed in test()

DirectIntegration Analysis : : analyze() – the Algorithm failed at time 50000
OpenSees > analyze failed, returned: -3 error flag

It seems the analysis failed at the first step of elastic gravity analysis stage. I am wondering if it is caused by the inadequate constraints in the model. But I have checked my tcl file many times and cannot find the bug. I have posted my model as below, could you please give me a hand to fix it? I appreciate in advance.

wipe

#————————————————————————————————————————————- # 1. DEFINE SOIL AND MESH GEOMETRY #————————————————————————————————————————————-

#—-SOIL GEOMETRY # thicknesses of soil profile (m) set soilThick 5.0
# number of soil layers set numLayers 2
# layer thicknesses set layerThick(2) 3.0
set layerThick(1) 2.0
# depth of water table set waterTable 0.0

# define layer boundaries set layerBound(1) $layerThick(1) for {set i 2} {$i set nElemX(2) 6
set nElemX(3) 5
# total number of elements in vertical direction set numElemX 16
# number of nodes in horizontal direction set nNodeX(1) 11
set nNodeX(2) 23
set nNodeX(3) 33
set numNodeX 2*$numElemX+1 # horizontal element size (m) set sElemX(1) 0.7
set sElemX(2) 0.5
set sElemX(3) 0.7
#number of elements in vertical direction for each layer set nElemY(2) 15
set nElemY(1) 5
# total number of elements in vertical direction set nElemT 20
# vertical element size in each layer for {set i 1} {$i

set ppNodesInfo ppNodesInfo.dat w set count 1
set layerNodeCount 0
# loop over soil layers for {set k 1} {$k }

for {set j 1} {$j fix 3 0 1 0
fix 5 0 1 0
fix 7 0 1 0
fix 9 0 1 0
fix 11 0 1 0
fix 13 0 1 0
fix 15 0 1 0
fix 17 0 1 0
fix 19 0 1 0
fix 21 0 1 0
fix 23 0 1 0
fix 25 0 1 0
fix 27 0 1 0
fix 29 0 1 0
fix 31 0 1 0
fix 33 0 1 0
puts “Finished creating all -ndf 3 boundary conditions…”


# define equal degrees of freedom for pore pressure nodes for {set i 1} {$i # central column of nodes set layerNodeCount 0
# loop over soil layers for {set k 1} {$k } for {set j 1} {$j fix 10 0 1
fix 12 0 1
fix 14 0 1
fix 16 0 1
fix 18 0 1
fix 20 0 1
fix 22 0 1
fix 24 0 1
fix 26 0 1
fix 28 0 1
fix 30 0 1
fix 32 0 1
puts “Finished creating all -ndf 2 boundary conditions…”

# define equal degrees of freedom which have not yet been defined

for {set i 1} {$i set slope atan set g -9.81

nDMaterial PressureDependMultiYield02 2 2 1.9 1.0e5 2.33e5 33.5 0.1 \ 101.0 0.5 25.5 0.045 0.15 0.06 \ 0.15 20 5.0 3.0 1.0 \ 0.0 0.7 0.9 0.02 0.7 101.0
set thick(2) 0.5
set xWgt(2) $g*sin set yWgt(2) $g*cos set uBulk(2) 2.2e6
set hPerm(2) 6.6000e-005/9.81 set vPerm(2) 6.6000e-005/9.81 nDMaterial PressureDependMultiYield02 1 2 2.1 1.3e5 2.6e5 36.5 0.1 \ 101.0 0.5 26 0.013 0.0 0.3 \ 0.0 20 5.0 3.0 1.0 \ 0.0 0.55 0.9 0.02 0.7 101.0
set thick(1) 0.5
set xWgt(1) $g*sin set yWgt(1) $g*cos set uBulk(1) 2.2e6
set hPerm(1) 6.6000e-005/9.81 set vPerm(1) 6.6000e-005/9.81 puts “Finished creating all soil materials…”

#————————————————————————————————————————————- # 5. CREATE SOIL ELEMENTS #————————————————————————————————————————————- set ElemInfo ElemInfo.dat w

for {set j 1} {$j

#—-RAYLEIGH DAMPING PARAMETERS set pi 3.141592654
# damping ratio set damp 0.02
# lower frequency set omega1 2*$pi*0.2 # upper frequency set omega2 2*$pi*20 # damping coefficients set a0 2*$damp*$omega1*$omega2/ set a1 2*$damp/ puts “damping coefficients: a_0 = $a0; a_1 = $a1”

#—-DETERMINE STABLE ANALYSIS TIME STEP USING CFL CONDITION # maximum shear wave velocity (m/s) set vsMax 250.0
# duration of ground motion (s) set duration $motionDT*$motionSteps # minimum element size set minSize $sElemY(1) for {set i 2} {$i #————————————————————————————————————————————- # 10. GRAVITY ANALYSIS #————————————————————————————————————————————-

# update materials to ensure elastic behavior updateMaterialStage -material 1 -stage 0
updateMaterialStage -material 2 -stage 0

constraints Penalty 1.e14 1.e14
test NormDispIncr 1e-4 100 1
algorithm KrylovNewton numberer RCM system ProfileSPD integrator Newmark $gamma $beta analysis Transient

set startT seconds set ok 5 5.00e+004 if {$ok != 0} { return $ok } puts “Finished with elastic gravity analysis…”


# fix base before dynamic run model basic -ndm 2 -ndf 3
fixY 0.000000e+000 1 1 0 -tol 1e-4

# update materials to consider plastic behavior updateMaterialStage -material 1 -stage 1
updateMaterialStage -material 2 -stage 1


# plastic gravity loading set ok 5 5.00e+004 if {$ok != 0} { return $ok } puts “Finished with plastic gravity analysis…”

#————————————————————————————————————————————- # 11. UPDATE ELEMENT PERMEABILITY VALUES FOR POST-GRAVITY ANALYSIS #————————————————————————————————————————————-

# choose base number for parameter IDs which is higer than other tags used in analysis set ctr 10000.0
# loop over elements to define parameter IDs for {set i 1} {$i for {set j 1} {$j for {set i 1} {$i wipeAnalysis remove recorders

# recorder time step set recDT 2*$motionDT

# record nodal displacment, acceleration, and porepressure eval “recorder Node -file displacement.out -time -dT $recDT -node $nodeList3 -dof 1 2 disp” eval “recorder Node -file acceleration.out -time -dT $recDT -node $nodeList3 -dof 1 2 accel” eval “recorder Node -file porePressure.out -time -dT $recDT -node $nodeList3 -dof 3 vel” # record elemental stress and strain (files are names to reflect GiD gp numbering) recorder Element -file stress1.out -time -dT $recDT -eleRange 1 $nElemT material 1 stress recorder Element -file stress2.out -time -dT $recDT -eleRange 1 $nElemT material 2 stress recorder Element -file stress3.out -time -dT $recDT -eleRange 1 $nElemT material 3 stress recorder Element -file stress4.out -time -dT $recDT -eleRange 1 $nElemT material 4 stress recorder Element -file stress9.out -time -dT $recDT -eleRange 1 $nElemT material 9 stress recorder Element -file strain1.out -time -dT $recDT -eleRange 1 $nElemT material 1 strain recorder Element -file strain2.out -time -dT $recDT -eleRange 1 $nElemT material 2 strain recorder Element -file strain3.out -time -dT $recDT -eleRange 1 $nElemT material 3 strain recorder Element -file strain4.out -time -dT $recDT -eleRange 1 $nElemT material 4 strain recorder Element -file strain9.out -time -dT $recDT -eleRange 1 $nElemT material 9 strain puts “Finished creating all recorders…”

#————————————————————————————————————————————- # 13. DYNAMIC ANALYSIS #————————————————————————————————————————————-

model BasicBuilder -ndm 2 -ndf 3
loadConst -time 0.0

# base input motion pattern UniformExcitation 1 1 -accel “Series -fileTime acc_time.dat -filePath acc_value.dat -factor 1.00000e+000*9.81

puts “Dynamic loading created…”

constraints Penalty 1.e16 1.e16
test NormDispIncr 1.0e-3 35 1
algorithm KrylovNewton numberer RCM system ProfileSPD integrator Newmark $gamma $beta rayleigh $a0 $a1 0.0 0.0
analysis Transient

# perform analysis with timestep reduction loop set ok $nSteps $dT

# if analysis fails, reduce timestep and continue with analysis if {$ok != 0} { puts “did not converge, reducing time step” set curTime getTime set mTime $curTime puts “curTime: $curTime” set curStep $curTime/$dT puts “curStep: $curStep” set rStep *2.0 set remStep int*2.0) puts “remStep: $remStep” set dT $dT/2.0 puts “dT: $dT”

set ok $remStep $dT

# if analysis fails again, reduce timestep and continue with analysis if {$ok != 0} { puts “did not converge, reducing time step” set curTime getTime puts “curTime: $curTime” set curStep /$dT puts “curStep: $curStep” set remStep int*2.0) puts “remStep: $remStep” set dT $dT/2.0 puts “dT: $dT”

analyze $remStep $dT } }

set endT seconds puts “Finished with dynamic analysis…” puts “Analysis execution time: $endT-$startT seconds”

wipe

Report abuse

0 Responses

No answers to this question yet. Be the first to answer this question.