Hello,
This is the first time I'm working with Opensees. With the use of Opensees 2.5 I'm trying to calculate the displacement in the middle part of a column to compare it against the deformation that I'm apliying in the top part. I have three nodes in, top node 3 (restriction in x direction), middle node 2 (no restiction) and ground node 1(restriction in x and y direction). So I make this code , that I add behind this, and get this error: DisplacementControl::domainChanged() - zero reference loadStaticAnalysis::setAlgorithm() - Integrator::domainChanged() failedStaticAnalysis::analyze() - domainChanged failed at step 0 of 1000
OpenSees > analyze failed, returned: -1 error flag
this is the code:
# SET UP ----------------------------------------------------------------------------
wipe; # clear memory of all past model definitions
model BasicBuilder -ndm 2 -ndf 3; # Define the model builder, ndm=#dimension, ndf=#dofs
set dataDir Data; # set up name for data directory
file mkdir $dataDir/; # create data directory
puts "Set Up creado"
# define UNITS ----------------------------------------------------------------------------
set m 1.; # define basic units -- output units;
set N 1.; # define basic units -- output units;
set sec 1.; # define basic units -- output units
set LunitTXT "m"; # define basic-unit text for output
set FunitTXT "N"; # define basic-unit text for output
set TunitTXT "sec"; # define basic-unit text for output
#set m [expr 12.*$in]; # define engineering units
set N/m^2 [expr $N/pow($m,2)];
set Pa [expr $N/pow($m,2)];
set MPa [expr ($N/pow($m,2))*1000000];
#set lbf [expr $psi*$in*$in]; # pounds force
set N/m^3 [expr $N/pow($m,3)]; # pounds per cubic foot
set m^2 [expr $m*$m]; # inch^2
set m^4 [expr $m*$m*$m*$m]; # inch^4
set cm [expr $m/100]
set mm [expr $m/1000]; # centimeter, needed for displacement input in MultipleSupport excitation
set PI [expr 2*asin(1.0)]; # define constants
#set g [expr 32.2*$ft/pow($sec,2)]; # gravitational acceleration
set Ubig 1.e10; # a really large number
set Usmall [expr 1/$Ubig]; # a really small number
puts "Units done"
# MATERIAL parameters -------------------------------------------------------------------
set IDSteel 1; # material ID tag -- steel
set Fy [expr 355*$MPa]; # STEEL yield stress
set Es [expr 210000*$MPa]; # modulus of steel
set b 0.0001; # strain-hardening ratio
uniaxialMaterial Steel01 $IDSteel $Fy $Es $b
puts "material done"
#define GEOMETRY -------------------------------------------------------------
# define structure-geometry paramters
set LCol [expr 3*$m]; # column height
# define section geometry HEB220
set h [expr 220*$mm]; # depth
set b [expr 220*$mm]; # flange width
set tf [expr 16*$mm]; # flange thickness
set tw [expr 9.5*$mm]; # web thickness
set nfh 16; # number of fibers along h
set nftw 2; # number of fibers along tw
set nfb 16; # number of fibers along b
set nftf 4; # number of fibers along tf
set BeamSection 1; #assign a tag number to the column section
set secID 1; # assign a tag number to the section
# secID - section ID number
# h = section depth
# tw = web thickness
# b = section width
# tf = flange thickness
# nfh = number of fibers along section depth
# nftw = number of fibers along web thickness
# nfb = number of fibers along section width
# nftf = number of fibers along flange thickness
set d [expr $h - 2 * $tf]
set y1 [expr -$h/2]
set y2 [expr -$d/2]
set y3 [expr $d/2]
set y4 [expr $h/2]
set z1 [expr -$b/2]
set z2 [expr -$tw/2]
set z3 [expr $tw/2]
set z4 [expr $b/2]
section fiberSec $secID {
# nfIJ nfJK yI zI yJ zJ yK zK yL zL
patch quadr $IDSteel $nfb $nftf $y1 $z4 $y1 $z1 $y2 $z1 $y2 $z4
patch quadr $IDSteel $nftw $nfh $y2 $z3 $y2 $z2 $y3 $z2 $y3 $z3
patch quadr $IDSteel $nfb $nftf $y3 $z4 $y3 $z1 $y4 $z1 $y4 $z4
}
# nodal coordinates:
node 1 0 0;
node 2 0 [expr $LCol/2]
node 3 0 $LCol
# Single point constraints -- Boundary Conditions
fix 1 1 1 0; # node DX DY RZ
fix 2 0 0 0;
fix 3 1 0 0; # node DX DY RZ
puts "geometry done"
set ColTransfTag 1;
geomTransf Linear $ColTransfTag ;
# element connectivity:
set niter 10;
set tol 1.e-12
set numIntgrPts 5;
element nonlinearBeamColumn 1 1 2 $numIntgrPts $secID $ColTransfTag -iter $niter $tol;
element nonlinearBeamColumn 2 2 3 $numIntgrPts $secID $ColTransfTag -iter $niter $tol; # self-explanatory when using variables
puts "elements done"
#RECORDERS
recorder Node -file Data/node2_displ.out -time -node 2 -dof 1 2 disp;
recorder Node -file Data/node2_force.out -time -node 2 -dof 1 2 reaction;
recorder Node -file Data/node3.out -node 3 -dof 1 disp;
set Tol 1.0e-8;
constraints Plain;
numberer Plain;
integrator DisplacementControl 3 2 -0.005
system BandGeneral;
test NormDispIncr $Tol 20 ;
algorithm Newton;
analysis Static
analyze 1000
Thank you in advanced
Problems/error in simple column
Moderators: silvia, selimgunay, Moderators
-
- Posts: 3
- Joined: Tue Jan 28, 2020 9:51 am
Re: Problems/error in simple column
Define pattern for load.
-
- Posts: 916
- Joined: Mon Sep 09, 2013 8:50 pm
- Location: University of California, Berkeley
Re: Problems/error in simple column
Yes your load pattern is missing.