Analysis Commands setting of Steel MR Frame Analysis

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

Moderators: silvia, selimgunay, Moderators

Post Reply
xxlsunshine
Posts: 6
Joined: Sat Aug 01, 2015 5:45 pm
Location: Tongji University

Analysis Commands setting of Steel MR Frame Analysis

Post by xxlsunshine » Tue Nov 29, 2016 1:52 pm

Hi all,
I have modeled a 3 story MR Frame Analysis. but when I run the gravity load analysis, opensees shows something as follows:

OpenSees > source a.tcl
Number of Stories in Z: 2
Number of Basements in Z: 1
Number of Bays in X: 4
Number of Bays in Y: 6
Node Definition Starts!
Node Definition is completed!
Section Definition Starts!
Section Definition is completed!
Element Definition Starts!
Column Element Definition is completed!
XBeam Element Definition is completed!
YBeam Element Definition is completed!
Mass Definition Starts!
Mass Definition is completed!
Gravity Load Definition Starts!
Gravity Load Definition is completed!
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
Recorder Definition Starts!
Recorder Definition is completed!
Go Gravity Analysis!
WARNING: numeric analysis returns 1 -- Umfpackgenlinsolver::solve
WARNING NewtonLineSearch::solveCurrentStep() -the LinearSysOfEqn failed in solve
()
StaticAnalysis::analyze() - the Algorithm failed at iteration: 0 with domain at
load factor 0.2
OpenSees > analyze failed, returned: -3 error flag
Gravity Analysis is done...
OpenSees >


I believe there is something wrong with my analysis commands setting. and what i code is like this:

constraints Transformation;
numberer RCM;
system SparseSYM
test NormDispIncr 1.0e-4 2000 2;
algorithm NewtonLineSearch 0.75
integrator LoadControl 0.2;
analysis Static
analyze 5

can anybody help me about what's wrong with this? Thank you!


this is my main code.

wipe; # clear memory of all past model definitions
# source Units.tcl; # use m 、N、sec Units
source LibUnits.tcl; # use in 、kip、sec Units
source Wsection.tcl; # procedure to define fiber W section
source Bsection.tcl; # procedure to define fiber box section
source BoxI.tcl; # procedure to return I of box section
source BoxAg.tcl; # procedure to return Ag of box section
source DisplayPlane.tcl; # procedure for displaying a plane in model
source DisplayModel3D.tcl; # procedure for displaying 3D perspectives of model

set dataDir Output; # set up name of data directory
if { [file exists $dataDir] == 0 } {
file mkdir $dataDir
}

set Add_NoCo [format "%s/NoCo.out" $dataDir]
if {[catch {set file_NoCo [open $Add_NoCo w+]} err_msg]} {
puts "Failed to open the file for editing: $err_msg"
return
}
set GMdir "../GMfiles"; # ground-motion file directory

# model starts
model BasicBuilder -ndm 3 -ndf 6; # Define the model builder, ndm=#dimension, ndf=#dofs
# frame configuration
# ----------------------------------------------------------------
set NStory 2; # number of stories above ground level in Z direction
# ----------------------------------------------------------------
# set NStory 40;
set NLobby 1; # number of lobby stories above ground level in Z direction
# ----------------------------------------------------------------
set NBase 1; # number of basements under ground level in Z direction
# ----------------------------------------------------------------
# set NBase 3;
set NBay 4; # number of Bays in X direction
# set NBay 4;
set NBayY 6; # number of Bays in Y direction
# set NBayY 6;
set firstsplice 4; # number of first splice occurs in this story(including basement) column
set spliceincr 3; # number of incremental level at each splice place
puts "Number of Stories in Z: $NStory"
puts "Number of Basements in Z: $NBase"
puts "Number of Bays in X: $NBay"
puts "Number of Bays in Y: $NBayY"
set NPier [expr $NBay + 1]; # actually deal with frames in X direction
set NFrame [expr $NBayY + 1]; # actually deal with frames in Y direction
set NLevel [expr $NStory + $NBase]; # number of levels
# column coordinates data
set Longspan 2; #longspan means the times of interior long span to short span.
set ColCoor ""
for {set iPier 1} {$iPier<=$NPier} {incr iPier} {
if {$iPier == 1 || $iPier == $NPier} {
for {set iFrame 1} {$iFrame<=$NFrame} {incr iFrame 1} {
set iColCoor [list $iPier $iFrame]
lappend ColCoor $iColCoor
}
} else {
for {set iFrame 1} {$iFrame<=$NFrame} {incr iFrame $Longspan} {
set iColCoor [list $iPier $iFrame]
lappend ColCoor $iColCoor
}
}
}
# define GEOMETRY -------------------------------------------------------------
# define structure-geometry paramters
set LColS [expr 12.5*$ft]; # superstructure column height (parallel to Z axis)
set LColL [expr 20.0*$ft]; # lobby column height (parallel to Z axis)
set LColB [expr 10.0*$ft]; # basement column height (parallel to Z axis)
set LBeam [expr 20.0*$ft]; # beam length (parallel to X axis)
set LGird [expr 20.0*$ft]; # girder length (parallel to Y axis)

# define NODES -------------------------------------------------------------
# rigid diaphragm nodes information
set RigidDiaphragm ON ; # options: ON, OFF. specify this before the analysis parameters are set the constraints are handled differently.

# ----------------------------------------------------------------
set SpliceAccount Off; #The indicator to take account of Splice: On or else(Off)
# ----------------------------------------------------------------
source NodeDefinition.tcl; # procedure to define nodes
# return

# BOUNDARY CONDITIONS
# fixZ 0 1 1 1 1 1 1; # pin all Z=$NBase*$LColB nodes
fixZ [expr -$NBase*$LColB] 1 1 1 1 1 1; # pin all Z=$NBase*$LColB nodes

# calculated MODEL PARAMETERS, particular to this model
# Set up parameters that are particular to the model for displacement control
# set IDctrlNode [expr int($DregionS+$NStory*$Dlevel+$NPier*$DPier+$NFrame)]; # node where displacement is read for displacement control
# set IDctrlDOF 1; # degree of freedom of displacement read for displacement control
set HBuilding [expr $NBase*$LColB+$NLobby*$LColL+($NStory-$NLobby)*$LColS]; # total building height

# Define SECTIONS---------------------------------------------------------------
# Section changing level
set SectionStory [list 4 8 10 40]; # Must be input in ascending consequence, and only can be four members list
set SectionLevel ""
foreach iSectionStory $SectionStory {
set iSectionLevel [expr $iSectionStory+$NBase]
lappend SectionLevel $iSectionLevel
}
set SecLevelNo [llength $SectionLevel]; #Number of total section levels
source SectionDefinition.tcl; # procedure to define nodes
# return

# Define ELEMENTS ------------------------------------------------------------
source ElementDefinition.tcl; # procedure to define elements
# return

# Define MASS ------------------------------------------------------------
source MassDefinition.tcl; # procedure to define mass
# return

# Define GRAVITY load applied to beams and columns -- eleLoad applies loads in local coordinate axis ------------------------------------------------------------
# [list {LiveloadStyle Stories}]----- {LiveloadStyle Levels} must be arranged according to the usage configuration over the height of building
# set LiveLdLevel [list {1 2} {2 1} {3 19} {4 1} {3 18} {4 1} {5 1}]; # Must be input in ascending consequence, and only can be four members list
set LiveLdLevel [list {1 1} {2 1} {3 1}];
# LiveloadStyle1 LiveB
# LiveloadStyle2 LiveL
# LiveloadStyle3 LiveO
# LiveloadStyle4 LiveE
# LiveloadStyle5 LiveR
set LiveLdLevelInput 0
foreach i $LiveLdLevel {
set LiveLdLevelInput [expr $LiveLdLevelInput+[lindex $i 1]]
}
if {$LiveLdLevelInput != $NLevel} {
return "LiveLdLevel input is wrong, the total levels do not equal NLevel"
}

source GravityDefinition.tcl; # procedure to define gravity
# return

# Define DISPLAY -------------------------------------------------------------
DisplayModel3D DeformedShape ; # options: DeformedShape NodeNumbers ModeShape

# Define RECORDERS ------------------------------------------------------------
source RecorderDefinition.tcl; # procedure to define recorders
# return


# Analyse gravity case ------------------------------------------------------------
puts "Go Gravity Analysis!"

Post Reply