Dear all,
I have run the following script for the problem of base isolation but got these warnings.
However I end up get the results for the node displacement and I am not sure if they are correct.
1.What should I edit so that I get no warning?
2. Under these warnings will the results be correct or not ? Why?
I will appreciate for any available help.
WARNING: CTestNormUnbalance::test() - failed to converge
after: 6 iterations current Norm: 7.27596e-012 (max: 1e-012, Norm deltaX: 2.85079e-022)
NewtnRaphson::solveCurrentStep() -the ConvergenceTest object failed in test()
DirectIntegrationAnalysis::analyze() - the Algorithm failed at time 0.16
OpenSees > analyze failed, returned: -3 error flag
OpenSees > puts "record: $record period: $Tn damping ratio: $dampRatio max disp: $maxD"
record: Elcentro period: 1 damping ratio: 0.02 max disp: 0.006052093951979983
OpenSees > wipe all;
# Code:2DOF system for base isolation structure
OpenSees > wipe all;
OpenSees > set Tn 1
1
OpenSees > set M 980000
980000
OpenSees > set dampRatio 0.02
0.02
OpenSees > set record Elcentro
Elcentro
OpenSees > set alpha1 0.02
0.02
OpenSees > set alpha2 0.008
0.008
OpenSees > set ko1 967221231
967221231
OpenSees > set ko2 9800000000
9800000000
OpenSees > set n 8
8
OpenSees > set gamma 0.5
0.5
OpenSees > set beta 0.5
0.5
OpenSees > set Ao 1
1
OpenSees > set deltaA 0
0
OpenSees > set deltaNu 0
0
OpenSees > set deltaEta 0
0
OpenSees > #number of modes
OpenSees > set numModes 2
2
OpenSees > #set some constants
OpenSees > set g 9.81
9.81
OpenSees > set PI [expr 2.0 * asin(1.0)]
3.141592653589793
OpenSees > #derived quantaties
OpenSees > set Wn [expr 2.0 * $PI / $Tn]
6.283185307179586
OpenSees > set c [expr 2.0*$M*$Wn*$dampRatio]
246300.86404143978
OpenSees > set cb 171918.0031
171918.0031
OpenSees > # create the model
OpenSees > wipe
OpenSees > model basic -ndm 1 -ndf 1
OpenSees > node 1 0.0
OpenSees > node 2 0.0 -mass $M
OpenSees > node 3 1.0 -mass $M
OpenSees > fix 1 1
0
OpenSees > uniaxialMaterial Elastic 1 0.0 $c
OpenSees > uniaxialMaterial Elastic 2 0.0 $cb
OpenSees > uniaxialMaterial BoucWen 3 $alpha1 $ko1 $n $gamma $beta $Ao $deltaA $deltaNu $deltaEta
OpenSees > uniaxialMaterial BoucWen 4 $alpha2 $ko2 $n $gamma $beta $Ao $deltaA $deltaNu $deltaEta
OpenSees > uniaxialMaterial Parallel 5 1 3
OpenSees > uniaxialMaterial Parallel 6 2 4
OpenSees > #element truss eleno -i -j area matt
OpenSees > element zeroLength 1 1 2 -mat 6 -dir 1
OpenSees > element truss 2 2 3 1.0 5
OpenSees > # perform eigen analysis
OpenSees > set lambda [eigen -fullGenLapack $numModes];
890.48215477182214000000 11083.43872482001800000000
OpenSees > # calculate frequencies and periods of the structure
OpenSees > set omega {}
OpenSees > set f {}
OpenSees > set T {}
OpenSees > set pi 3.141593
3.141593
OpenSees > foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$pi)]
lappend T [expr (2*$pi)/sqrt($lam)]
}
OpenSees > puts "omega are $omega"
omega are 29.840947618529512 105.27791185628645
OpenSees > puts "periods are $T"
periods are 0.21055584696306703 0.05968190182739469
OpenSees > print node 3;
Node: 3
Coordinates : 1
Disps: 0
Velocities : 0
commitAccels: 0
Mass :
980000
Rayleigh Factor: alphaM: 0
Rayleigh Forces: 0
Eigenvectors:
1 -0.0977529
ID : 0
OpenSees > print node 2;
Node: 2
Coordinates : 0
Disps: 0
Velocities : 0
commitAccels: 0
Mass :
980000
Rayleigh Factor: alphaM: 0
Rayleigh Forces: 0
Eigenvectors:
0.0977529 1
ID : 1
OpenSees > set dT 0.02;
0.02
OpenSees > set nPts 1500;
1500
OpenSees > set factor $g
9.81
OpenSees > timeSeries Path 1 -filePath Elcentro.dat -dt $dT -factor $g
OpenSees > pattern UniformExcitation 1 1 -accel 1
OpenSees > # create the analysis
OpenSees > constraints Plain
OpenSees > integrator Newmark 0.5 [expr 1.0/6.0]
OpenSees > system ProfileSPD
OpenSees > test NormUnbalance 1.0e-12 6 0
OpenSees > algorithm Newton
OpenSees > numberer RCM
OpenSees > analysis Transient
OpenSees > rayleigh 0.7334 0.0026 0. 0.
OpenSees > set t 0.0
0.0
OpenSees > set maxT [expr (1+$nPts)*$dT];
30.02
OpenSees > set ok 0.0
0.0
OpenSees > set maxD 0.0
0.0
OpenSees > recorder Node -file disp3.out -time -node 3 -dof 1 disp
0
OpenSees > recorder Node -file disp2.out -time -node 2 -dof 1 disp
1
OpenSees > recorder Node -file disp1.out -time -node 1 -dof 1 disp
2
OpenSees > recorder Node -file vel3.out -time -node 3 -dof 1 vel
3
OpenSees > recorder Node -file accel3.out -time -node 3 -dof 1 accel
4
OpenSees > recorder Drift -file drift4.out -time -iNode 2 -jNode 3 -dof 1 -perpDirn 1
5
OpenSees > while {$ok == 0 && $t < $maxT} {
set ok [analyze 1 $dT]
if {$ok != 0} {
test NormDispIncr 1.0e-12 100 0
algorithm ModifiedNewton -initial
set ok [analyze 1 0.001]
test NormDispIncr 1.0e-12 10
algorithm Newton
}
set time [getTime]
set d [nodeDisp 3 1]
if {$d > $maxD} {
set maxD $d
} elseif {$d < [expr -$maxD]} {
set maxD [expr -$d]
}
set t [expr $t + $dT]
}
WARNING: CTestNormUnbalance::test() - failed to converge
after: 6 iterations current Norm: 7.27596e-012 (max: 1e-012, Norm deltaX: 2.85079e-022)
NewtnRaphson::solveCurrentStep() -the ConvergenceTest object failed in test()
DirectIntegrationAnalysis::analyze() - the Algorithm failed at time 0.16
OpenSees > analyze failed, returned: -3 error flag
OpenSees > puts "record: $record period: $Tn damping ratio: $dampRatio max disp: $maxD"
record: Elcentro period: 1 damping ratio: 0.02 max disp: 0.006052093951979983
OpenSees > wipe all;
Warnings in modeling 2DOF base isolation system
Moderators: silvia, selimgunay, Moderators
-
- Posts: 25
- Joined: Fri Jun 15, 2018 2:47 am
- Location: Huazhong University of Science & Technology,China
Re: Warnings in modeling 2DOF base isolation system
I have increased the tolerance to a value equal to 1e-5 and increased iteration number to 100 and I got no warning.
I hope the problem have been solved.
I hope the problem have been solved.