My modle has only an elasticBeamColumn element and a zeroLengthContact3D element .when I run the program,I got the error like this:
WARNING analysis Transient - no Algorithm yet specified,
NewtonRaphson default will be used
WARNING BandGenLinLapackSolver::solve() -LAPACK routine returned 1
WARNING NewtonRaphson::solveCurrentStep() -the LinearSysOfEqn failed in solve()
DirectIntegrationAnalysis::analyze() - the Algorithm failed at time 0.002
OpenSees > analyze failed, returned: -3 error flag
WARNING BandGenLinLapackSolver::solve() -LAPACK routine returned 1
WARNING ModifiedNewton::solveCurrentStep() -the LinearSysOfEqn failed in solve()
DirectIntegrationAnalysis::analyze() - the Algorithm failed at time 0.002
OpenSees > analyze failed, returned: -3 error flag
The program is :
# SET UP ----------------------------------------------------------------------------
wipe;
model basic -ndm 3 -ndf 6;
logFile errorFile;
file mkdir Data;
node 1 0 0 0; #两个节点定义一竖å
Are there some errors in the defintion of Contact3D element?
Moderators: silvia, selimgunay, Moderators
-
- Posts: 11
- Joined: Wed Sep 01, 2010 12:52 am
- Location: 1q2w3e4r
I made few corrections and it is working now (see it below).
There were three major modeling errors:
1. you did not assign the direction of the contact element. it was 0 and I changed it to 3 (to match global Z dir.);
2. in definition of contact element slave and master nodes were not defined well;
3. you did not connect nodes 2 and 12.
With regard to analysis objects you did not specify algorithm and test command.
wipe;
model basic -ndm 3 -ndf 6;
logFile errorFile;
file mkdir Data;
node 1 0 0 0;
node 2 0 0 10;
node 3 0 0 10;
# Single point constraints -- Boundary Conditions
fix 1 1 1 1 1 1 1;
mass 2 100 100 100 10e-10 10e-10 10e-10;
fix 3 1 1 1 1 1 1;
# Define ELEMENTS -----------------------------------------------------------
geomTransf Linear 1 0 -1 0;
element elasticBeamColumn 1 1 2 0.01 3.29e10 1.0e20 2.0e-5 1.0e-5 1.0e-5 1;
#element elasticBeamColumn $eleTag $iNode $jNode $A $E $G $J $Iy $Iz $transfTag
model basic -ndm 3 -ndf 3;
node 12 0 0 10;
node 13 0 0 10;
#fix 13 1 1 1;
equalDOF 3 13 1 2 3;
equalDOF 2 12 1 2 3;
element zeroLengthContact3D 3 12 13 1.0e+5 0.5e+5 0.5 0 3;
# Define RECORDERS ---------------------------------------------------------
recorder Node -file data/nodevel.out -time -node 2 -dof 1 vel;
recorder Node -file data/nodeDisp.out -time -node 2 -dof 1 disp;
recorder Node -file data/nodeaccel.out -time -node 2 -dof 1 accel;
# define GRAVITY -----------------------------------------------------------
set dt 0.02;
set Scale 1.0;
set accelSeries "Path -filePath elcentro.txt -dt $dt -factor [expr 1*$Scale]";
pattern UniformExcitation 1 1 -accel $accelSeries;
constraints Penalty 10e15 10e15;
#constraints Transformation;
numberer RCM;
system BandGeneral;
#system ProfileSPD
test NormDispIncr 1.0e-6 100
algorithm Newton
integrator Newmark 0.5 0.25;
analysis Transient;
set tFinal [expr 2000 * 0.02];
set tCurrent [getTime];
set ok 0;
while {$ok == 0 && $tCurrent < $tFinal} {
set ok [analyze 1 0.002]
if {$ok != 0} {
puts "regular newton failed .. lets try an initail stiffness for this step"
test NormDispIncr 1.0e-6 100
algorithm ModifiedNewton -initial
set ok [analyze 1 0.002]
if {$ok == 0} {puts "that worked .. back to regular newton"}
test NormDispIncr 1.0e-6 100
algorithm Newton
}
set tCurrent [getTime]
}
# Print a message to indicate if analysis succesfull or not
if {$ok == 0} {
puts "Transient analysis completed SUCCESSFULLY";
} else {
puts "Transient analysis completed FAILED";
};
puts "Done!"
There were three major modeling errors:
1. you did not assign the direction of the contact element. it was 0 and I changed it to 3 (to match global Z dir.);
2. in definition of contact element slave and master nodes were not defined well;
3. you did not connect nodes 2 and 12.
With regard to analysis objects you did not specify algorithm and test command.
wipe;
model basic -ndm 3 -ndf 6;
logFile errorFile;
file mkdir Data;
node 1 0 0 0;
node 2 0 0 10;
node 3 0 0 10;
# Single point constraints -- Boundary Conditions
fix 1 1 1 1 1 1 1;
mass 2 100 100 100 10e-10 10e-10 10e-10;
fix 3 1 1 1 1 1 1;
# Define ELEMENTS -----------------------------------------------------------
geomTransf Linear 1 0 -1 0;
element elasticBeamColumn 1 1 2 0.01 3.29e10 1.0e20 2.0e-5 1.0e-5 1.0e-5 1;
#element elasticBeamColumn $eleTag $iNode $jNode $A $E $G $J $Iy $Iz $transfTag
model basic -ndm 3 -ndf 3;
node 12 0 0 10;
node 13 0 0 10;
#fix 13 1 1 1;
equalDOF 3 13 1 2 3;
equalDOF 2 12 1 2 3;
element zeroLengthContact3D 3 12 13 1.0e+5 0.5e+5 0.5 0 3;
# Define RECORDERS ---------------------------------------------------------
recorder Node -file data/nodevel.out -time -node 2 -dof 1 vel;
recorder Node -file data/nodeDisp.out -time -node 2 -dof 1 disp;
recorder Node -file data/nodeaccel.out -time -node 2 -dof 1 accel;
# define GRAVITY -----------------------------------------------------------
set dt 0.02;
set Scale 1.0;
set accelSeries "Path -filePath elcentro.txt -dt $dt -factor [expr 1*$Scale]";
pattern UniformExcitation 1 1 -accel $accelSeries;
constraints Penalty 10e15 10e15;
#constraints Transformation;
numberer RCM;
system BandGeneral;
#system ProfileSPD
test NormDispIncr 1.0e-6 100
algorithm Newton
integrator Newmark 0.5 0.25;
analysis Transient;
set tFinal [expr 2000 * 0.02];
set tCurrent [getTime];
set ok 0;
while {$ok == 0 && $tCurrent < $tFinal} {
set ok [analyze 1 0.002]
if {$ok != 0} {
puts "regular newton failed .. lets try an initail stiffness for this step"
test NormDispIncr 1.0e-6 100
algorithm ModifiedNewton -initial
set ok [analyze 1 0.002]
if {$ok == 0} {puts "that worked .. back to regular newton"}
test NormDispIncr 1.0e-6 100
algorithm Newton
}
set tCurrent [getTime]
}
# Print a message to indicate if analysis succesfull or not
if {$ok == 0} {
puts "Transient analysis completed SUCCESSFULLY";
} else {
puts "Transient analysis completed FAILED";
};
puts "Done!"
-
- Posts: 11
- Joined: Wed Sep 01, 2010 12:52 am
- Location: 1q2w3e4r