Hello Frank, Silvia or Vesna
I am trying to simulate the flexural response of a element I tested in our lab. I am using the forceBeamElement with the sectionAggregator to add the flexural behavior. I am modeling the M-Rotation response at the section level using the pinching4 material.
The model is given some strange results and warning messages like the one below, and sometimes it does quit the analysis. I have played with the number of integration points, number of elements and type of integration but it does not improve the analysis. My input file is paste below. and the results i am obtaining look something like the one in this picture - https://sites.google.com/a/vt.edu/variousdap/
WARNING: CTestNormDispIncr::test() - failed to converge
after: 10 iterations
NewtnRaphson::solveCurrentStep() -the ConvergenceTest object failed in test()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at load factor -0.87281
OpenSees > analyze failed, returned: -3 error flag
***** Trying NewtonWithLineSearch ..
***** NewtonWithLineSearch worked .. back to regular newton
# ---------------------------------------------------
# Starts Script
wipe all;
model BasicBuilder -ndm 2 -ndf 3;
# ---------------------------------------------------------------------------------#
# Set Units #
set in 1;
set kip 1;
set lb [expr $kip/1.000];
# --------------------------------------------------------------------------------#
# Create Nodes #
node 1 -96 0
node 2 -35.25 0
node 3 35.25 0
node 4 96 0
# --------------------------------------------------------------------------------#
# node DX DY RZ
fix 1 0 1 0
fix 3 1 0 0
fix 4 0 1 0
# --------------------------------------------------------------------------------#
# Flexural Pinching4 Definition #
set AA 1.7881; set EE 29500; set Ix 31.2827;
set nIFactor 1000; set IMod [expr (($nIFactor + 1)/$nIFactor)*31.2827];
set MatTagFlex 1; set MatTagAxial 2; set EABeam [expr $EE*$AA]; set EIBeam [expr $EE*$Ix];
uniaxialMaterial Elastic $MatTagAxial $EABeam;
# --------------------------------------------------------------------------------#
# Positive BackBone Definition #
set epd1s 0.0002309; set epd2s 0.00028016; set epd3s 0.00028826; set epd4s 0.00063724;
set epf1s 213.088; set epf2s 236.75; set epf3s 187.2513; set epf4s 125.7755;
# Negative BackBone Definition #
set end1s -0.0002309; set end2s -0.00028016; set end3s -0.00028826; set end4s -0.00063724;
set enf1s -213.088; set enf2s -236.75; set enf3s -187.2513; set enf4s -125.7755;
# -------------------------------------------------------------------------------#
# Pinching Parameters Definition #
set rdispps 0.19; set rforceps 0.34; set uforceps -0.2;
set rdispns 0.2; set rforcens 0.38; set uforcens -0.19;
# --------------------------------------------------------------------------------#
# Damage Parameters Definition #
set gk1s 0; set gk2s 0.95; set gk3s 0; set gk4s 0.67; set gklims 1000;
set gd1s 0; set gd2s 0; set gd3s 0; set gd4s 0; set gdlims 0;
set gf1s 0; set gf2s 0.58; set gf3s 0; set gf4s 1.1; set gflims 1000;
set ges 10.4505;
# ---------------------------------------------------------------------------------#
uniaxialMaterial Pinching4 $MatTagFlex $epf1s $epd1s $epf2s $epd2s $epf3s $epd3s $epf4s $epd4s $enf1s $end1s $enf2s $end2s $enf3s $end3s $enf4s $end4s $rdispps $rforceps $uforceps $rdispns $rforcens $uforcens $gk1s $gk2s $gk3s $gk4s $gklims $gd1s $gd2s $gd3s $gd4s $gdlims $gf1s $gf2s $gf3s $gf4s $gflims $ges "energy"
set SecTagFlex 1;
section Aggregator $SecTagFlex $MatTagAxial P $MatTagFlex Mz;
set nIntgrPts 9;
# --------------------------------------------------------------------------------#
# Element Definition #
set gTrans 1;
geomTransf Corotational $gTrans;
set intType Radau
element forceBeamColumn 1 1 2 $nIntgrPts $SecTagFlex $gTrans;
element forceBeamColumn 2 2 3 $nIntgrPts $SecTagFlex $gTrans;
element forceBeamColumn 3 3 4 $nIntgrPts $SecTagFlex $gTrans;
# --------------------------------------------------------------------------------#
# Recorders Definition #
region 1 -node 1 2 3 4;
recorder Node -file OSBeamModel1200DFC113_NodeDispAllHorz.out -time -region 1 -dof 1 disp;
recorder Node -file OSBeamModel1200DFC113_NodeDispAllVert.out -time -region 1 -dof 2 disp;
recorder Node -file OSBeamModel1200DFC113_NodeDispAllRott.out -time -region 1 -dof 3 disp;
recorder Node -file OSBeamModel1200DFC113_NodeReacAllHorz.out -time -region 1 -dof 1 reaction;
recorder Node -file OSBeamModel1200DFC113_NodeReacAllVert.out -time -region 1 -dof 2 reaction;
recorder Node -file OSBeamModel1200DFC113_NodeReacAllRott.out -time -region 1 -dof 3 reaction;
region 2 -eleRange 1 3;
recorder Element -file OSBeamModel1200DFC113_ForcSecAll1.out -time -region 2 section 1 force;
recorder Element -file OSBeamModel1200DFC113_DefoSecAll1.out -time -region 2 section 1 deformation;
recorder Element -file OSBeamModel1200DFC113_ForcSecAll9.out -time -region 2 section 9 force;
recorder Element -file OSBeamModel1200DFC113_DefoSecAll9.out -time -region 2 section 9 deformation;
# --------------------------------------------------------------------------------#
# Load Pattern Definition #
set filename OSBeamModel1200DFC113_DispHistory.dat
set NumSteps 44458
set ControlNode 2
set EnslaveNode 3
set dofControlNode 2
set dofEnslaveNode 2
set DxPattern 1; # Pattern Tag
pattern Plain $DxPattern Linear {
sp $ControlNode $dofControlNode 1.0
sp $EnslaveNode $dofEnslaveNode 1.0
}
# --------------------------------------------------------------------------------#
# Analysis Definition #
constraints Penalty 1e15 1e15
numberer RCM
system FullGeneral
test NormDispIncr 1.0e-8 50 0
algorithm Newton
# Read Displacement File into Vector
set fid [open $filename r]; #assign a channel to the file
set rowslst [split [read $fid] \n]; #make a list of lines
close $fid;
set i 0;
foreach rw $rowslst {
if {[llength $rw] == 0} {
continue;
} else {
set dispVect($i) $rw;
incr i;
}
}
# Analyze using Reversed Cyclic Routine
set ok 0;
set reduceBy 50;
for {set i 0} { ($i < $NumSteps) && ($ok == 0) } {incr i} {
set dispP [expr $dispVect($i)];
set currentDisp [nodeDisp $ControlNode $dofControlNode ];
set nextDisp $dispP;
set dispIncr [expr $nextDisp - $currentDisp];
integrator DisplacementControl $ControlNode $dofControlNode $dispIncr
analysis Static
set ok [analyze 1];
# If fails to analyze change algorithm
if {$ok != 0} {
set ok 0
integrator DisplacementControl $ControlNode $dofControlNode [expr $dispIncr/$reduceBy]
analysis Static
for {set j 1} { ($j <= $reduceBy) && ($ok == 0) } {incr j} {
set ok [analyze 1]
if {$ok != 0} {source A6_12_Algorithms.tcl}
if {$ok != 0} {
set ok 0
integrator DisplacementControl $ControlNode $dofControlNode [expr $dispIncr/($reduceBy*$reduceBy)]
analysis Static
for {set jj 1} { ($jj <= $reduceBy) && ($ok == 0) } {incr jj} {
set ok [analyze 1]
if {$ok != 0} {source A6_12_Algorithms.tcl}
}
}
}
test NormDispIncr 1.0e-8 50 0;
integrator DisplacementControl $ControlNode $dofControlNode $dispIncr;
analysis Static;
}
}
set fmt1 "%s Analysis: CtrlNode %.3i, dof %.1i, Disp=%.4f %s"; # format for screen/file output of DONE/PROBLEM analysis
if {$ok != 0 } {
puts [format $fmt1 "PROBLEM" $ControlNode $dofControlNode [nodeDisp $ControlNode $dofControlNode] "in."]
} else {
puts [format $fmt1 "DONE" $ControlNode $dofControlNode [nodeDisp $ControlNode $dofControlNode] "in."]
}
# End of Script
# ------------------------------------------------------------------
Please if you can help me it will be very useful
Thank you
ForceBeamElement Model Convergence Problem
Moderators: silvia, selimgunay, Moderators
Re: ForceBeamElement Model Convergence Problem
Please if someone can help me with this
Dear Frank, Dear Vesna !
Dear Frank, Dear Vesna !