I am working on a structural engineering application using a software called "opensees V3.0.3" that is developed based on tcl (TCL8.6.9). When I run the code it stops in the middle and gives me an exit code (Exit code -1073740940) without certain errors. However, when i try running it on other devices, it works well without any problems. What could be causing this problem to happen only when I run the code on my PC. And I have windows 10. this is the code of the model:
wipe ;
model BasicBuilder -ndm 2 -ndf 3;
# Define Parameters
set L 5.0 ; # beam length (m)
set H 3.5 ; # column height (m)
set Ly 4.0 ; # perpendicular length (m)
set Lb [expr sqrt(pow($L/2,2)+pow($H,2))] ; # brace length (m)
# Loads (KN/m2)
set DL [expr 4.50] ; # (KN/m2)
set LL [expr 2.0] ; # (KN/m2)
set g 9.81 ; # (m/s2)
set pi 3.14 ;
set RSteel 7.85 ; # mass per unit volume of steel (t/m3)
set FileName "GVOutPut";
file mkdir $FileName;
# Define Nodes
# Base Nodes
# tag X Y
node 1 0.0 0.0 ;
node 2 $L 0.0 ;
# First Floor Nodes
node 101 0.0 $H ;
node 102 $L $H ;
# Second Floor Nodes
node 201 0.0 [expr 2*$H] ;
node 202 $L [expr 2*$H] ;
# Third Floor Nodes
node 301 0.0 [expr 3*$H] ;
node 302 $L [expr 3*$H] ;
#Damper First Floor Nodes
node 105 [expr $L/2] $H ;
node 1055 [expr $L/2] $H ;
# #Damper Second Floor Nodes
node 205 [expr $L/2] [expr 2*$H] ;
node 2055 [expr $L/2] [expr 2*$H] ;
# #Damper Third Floor Nodes
node 305 [expr $L/2] [expr 3*$H] ;
node 3055 [expr $L/2] [expr 3*$H] ;
# # Define Constraint
# SPConstraint
# SPC tag Dx Dy Rz
fix 1 1 1 1 ;
fix 2 1 1 1 ;
# MP constraints
# $rNodeTag $cNodeTag $dof1 $dof2 $dof3.
equalDOF 105 1055 2 6 ;
equalDOF 205 2055 2 6 ;
equalDOF 305 3055 2 6 ;
# # Define passive slip-loads
set N11 42; # (KN)
set N12 126; # (KN)
set N21 32; # (KN)
set N22 96; # (KN)
set N31 18; # (KN)
set N32 54; # (KN)
set Fs1 [expr $N11];
puts "Fs1=$Fs1";
set Fs2 [expr $N21];
puts "Fs2=$Fs2";
set Fs3 [expr $N31];
puts "Fs3=$Fs3";
set dy 1.0e-5;
#
# Define Materials
# $matTag $E $dy
uniaxialMaterial ElasticPP 11 [expr $Fs1/$dy] $dy;
uniaxialMaterial ElasticPP 22 [expr $Fs2/$dy] $dy;
uniaxialMaterial ElasticPP 33 [expr $Fs3/$dy] $dy;
# Tag Fy E b $R0 $cR1 $cR2
uniaxialMaterial Steel02 2 275.e3 2.0e8 0.01 18 0.925 0.15 ; # Material of beams & columns
# Tag $E
uniaxialMaterial Elastic 3 2.0e8 ; # Material of braces
# Define Sections
# # IPE Sections
# IPE 300
set h1 0.3 ;
set b1 0.15 ;
set s1 0.0071 ;
set t1 0.0107 ;
set MatTag 2 ;
set dh11 [expr ($h1/2.0)-$t1] ;
set dh21 [expr ($h1/2.0)] ;
set db1 [expr ($b1/2.0)] ;
set ds1 [expr ($s1/2.0)] ;
section Fiber 300 { ;
# Mat Nij Njk yi zi yj zj yk zk yl zl
patch quad $MatTag 3 34 $dh11 -$db1 $dh21 -$db1 $dh21 $db1 $dh11 $db1
patch quad $MatTag 38 3 -$dh11 -$ds1 $dh11 -$ds1 $dh11 $ds1 -$dh11 $ds1
patch quad $MatTag 3 34 -$dh21 -$db1 -$dh11 -$db1 -$dh11 $db1 -$dh21 $db1
} ;
puts "Section I With Tag 300 Has Been Generated";
# IPE 270
set h2 0.27 ;
set b2 0.135 ;
set s2 0.0066 ;
set t2 0.0102 ;
set MatTag 2 ;
set dh12 [expr ($h2/2.0)-$t2] ;
set dh22 [expr ($h2/2.0)] ;
set db2 [expr ($b2/2.0)] ;
set ds2 [expr ($s2/2.0)] ;
section Fiber 270 { ;
# Mat NijNjk yi zi yj zj yk zk yl zl
patch quad $MatTag 3 34 $dh12 -$db2 $dh22 -$db2 $dh22 $db2 $dh12 $db2
patch quad $MatTag 38 3 -$dh12 -$ds2 $dh12 -$ds2 $dh12 $ds2 -$dh12 $ds2
patch quad $MatTag 3 34 -$dh22 -$db2 -$dh12 -$db2 -$dh12 $db2 -$dh22 $db2
} ;
puts "Section I With Tag 270 Has Been Generated";
# # Box Sections
# Box 25X2
set MatT 2 ;
set B2 0.25 ;
set tt2 0.02 ;
set dB12 [expr ($B2/2.0)-$tt2] ;
set dB22 [expr ($B2/2.0)] ;
section Fiber 2520 { ;
# MatTag Nij Njk yi zi yj zj yk zk yl zl
patch quad $MatT 3 30 $dB12 -$dB12 $dB22 -$dB12 $dB22 $dB12 $dB12 $dB12 ;
patch quad $MatT 3 30 -$dB22 -$dB12 -$dB12 -$dB12 -$dB12 $dB12 -$dB22 $dB12 ;
patch quad $MatT 34 3 -$dB22 -$dB22 $dB22 -$dB22 $dB22 -$dB12 -$dB22 -$dB12 ;
patch quad $MatT 34 3 -$dB22 $dB12 $dB22 $dB12 $dB22 $dB22 -$dB22 $dB22 ;
} ;
puts "Section Box With Tag 2520 Has Been Generated";
# Box 20X15
set MatT 2 ;
set B3 0.20 ;
set tt3 0.015 ;
set dB13 [expr ($B3/2.0)-$tt3] ;
set dB23 [expr ($B3/2.0)] ;
section Fiber 2015 { ;
# MatTag Nij Njk yi zi yj zj yk zk yl zl
patch quad $MatT 3 30 $dB13 -$dB13 $dB23 -$dB13 $dB23 $dB13 $dB13 $dB13
patch quad $MatT 3 30 -$dB23 -$dB13 -$dB13 -$dB13 -$dB13 $dB13 -$dB23 $dB13
patch quad $MatT 34 3 -$dB23 -$dB23 $dB23 -$dB23 $dB23 -$dB13 -$dB23 -$dB13
patch quad $MatT 34 3 -$dB23 $dB13 $dB23 $dB13 $dB23 $dB23 -$dB23 $dB23
} ;
puts "Section Box With Tag 2015 Has Been Generated";
# Define the fiber Circular Hollow fiber section
# Hot-Finished Circular Hollow Sections (D=88.9,t=10)
set MatID 3; # material ID tag --
set DSec 0.1683; # Hollow Section Diameter
set t 0.0125; # Hollow Section Thickness
set ro [expr $DSec/2]; # overall (outer) radius of the section
set ri [expr $ro-$t] ; # inner radius of the section, only for hollow sections
set nfCoreR 8; # number of radial divisions in the core (number of "rings")
set nfCoreT 8; # number of theta divisions in the core (number of "wedges")
section fiberSec 8810 {
# $matTag $numSubdivCirc $numSubdivRad $yCenter $zCenter $intRad $extRad $startAng $endAng
patch circ $MatID $nfCoreT $nfCoreR 0 0 $ri $ro 0 360; # Define the Circular Hollow section patch
};
puts "End of Define Sections";
# Define Transformation
#Columns
geomTransf PDelta 1;
#Beams
geomTransf Linear 2;
# braces
geomTransf Corotational 3;
# Define Elements
#Columns
set Acol1 0.0184; # Area of Box With Tag 2520
set Acol2 0.0141; # Area of Box With Tag 2015
set massCol1 [expr (($Acol1*$RSteel)*$H)]; # Mass of Box With Tag 2520 (t)
set massCol2 [expr (($Acol2*$RSteel)*$H)]; # Mass of Box With Tag 2015 (t)
#First Floor
# Tag iNode jNode nP SecTag TransTag
element nonlinearBeamColumn 11 1 101 5 2520 1 ;
element nonlinearBeamColumn 12 2 102 5 2520 1 ;
# $eleTag $iNode $jNode $A $E $Iz $transfTag
# element elasticBeamColumn 11 1 101 0.0184 2.0e8 1.635e-4 2 ;
# element elasticBeamColumn 12 2 102 0.0184 2.0e8 1.635e-4 2 ;
#Second Floor
# Tag iNode jNode nP SecTag TransTag
element nonlinearBeamColumn 21 101 201 5 2520 1 ;
element nonlinearBeamColumn 22 102 202 5 2520 1 ;
# $eleTag $iNode $jNode $A $E $Iz $transfTag
# element elasticBeamColumn 21 101 201 0.0184 2.0e8 1.635e-4 2 ;
# element elasticBeamColumn 22 102 202 0.0184 2.0e8 1.635e-4 2 ;
#Third Floor
# Tag iNode jNode nP SecTag TransTag
element nonlinearBeamColumn 31 201 301 5 2015 1 ;
element nonlinearBeamColumn 32 202 302 5 2015 1 ;
# $eleTag $iNode $jNode $A $E $Iz $transfTag
# element elasticBeamColumn 31 201 301 0.0141 2.0e8 6.373e-5 2 ;
# element elasticBeamColumn 32 202 302 0.0141 2.0e8 6.373e-5 2 ;
# Beams
set Asec300 0.00538; # Area of I section With Tag 300
set Asec270 0.00459; # Area of I section With Tag 270
set massBeam1 [expr (((($DL+(0.2*$LL))*$Ly)/$g+($Asec300*$RSteel))*$L)]; # Mass of I section With Tag 300 (t)
set massBeam2 [expr (((($DL+(0.2*$LL))*$Ly)/$g+($Asec300*$RSteel))*$L)]; # Mass of I section With Tag 300 (t)
set massBeam3 [expr (((($DL+(0.2*$LL))*$Ly)/$g+($Asec270*$RSteel))*$L)]; # Mass of I section With Tag 300 (t)
#First Floor
# Tag iNode jNode nP SecT TransTag
element nonlinearBeamColumn 1010 101 105 5 300 2 ;
element nonlinearBeamColumn 1020 105 102 5 300 2 ;
#Second Floor
# Tag iNode jNode nP SecT TransTag
element nonlinearBeamColumn 2010 201 205 5 300 2 ;
element nonlinearBeamColumn 2020 205 202 5 300 2 ;
#Third Floor
# Tag iNode jNode nP SecT TransTag
element nonlinearBeamColumn 3010 301 305 5 270 2 ;
element nonlinearBeamColumn 3020 305 302 5 270 2 ;
# Damper Elements (Braces)
set E 2.0e8;
set Abr 61.2e-4; # Area of Circular Hollow Section With Tag 8810
set massbr [expr ($Abr*$RSteel)*$Lb];
#First Floor
# $eleTag $iNode $jNode $secTag
element corotTrussSection 120 1 1055 8810; # Circular hollow section
element corotTrussSection 121 2 1055 8810; # Circular hollow section
# Friction Node
# $eleTag $iNode $jNode -mat $matTag -dir $dir
element zeroLength 122 105 1055 -mat 11 -dir 1;
#Second Floor
# $eleTag $iNode $jNode $secTag
element corotTrussSection 220 101 2055 8810; # Circular hollow section
element corotTrussSection 221 102 2055 8810; # Circular hollow section
# Friction Node
# $eleTag $iNode $jNode -mat $matTag -dir $dir
element zeroLength 222 205 2055 -mat 22 -dir 1;
#Third Floor
# $eleTag $iNode $jNode $secTag
element corotTrussSection 320 201 3055 8810; # Circular hollow section
element corotTrussSection 321 202 3055 8810; # Circular hollow section
# Friction Node
# $eleTag $iNode $jNode -mat $matTag -dir $dir
element zeroLength 322 305 3055 -mat 33 -dir 1;
# Nodal Mass
# Assign masses to the nodes that the columns are connected to each connection takes the mass of 1/2 of each element framing into it (mass=weight/$g)
# Mass tag mx my mIz
mass 101 [expr 5*($massCol1 + $massBeam1/2 + $massbr)] [expr 5*($massCol1 + $massBeam1/2 + $massbr)] 0.0 ; # level 1
mass 201 [expr 5*($massCol1/2 + $massCol2/2 + $massBeam2/2 + $massbr)] [expr 5*($massCol1/2 + $massCol2/2 + $massBeam2/2 + $massbr)] 0.0 ; # level 2
mass 202 [expr 5*($massCol1/2 + $massCol2/2 + $massBeam2/2 + $massbr)] [expr 5*($massCol1/2 + $massCol2/2 + $massBeam2/2 + $massbr)] 0.0 ; # level 2
mass 301 [expr 5*($massCol2/2 + $massBeam3/2)] [expr 5*($massCol2/2 + $massBeam3/2)] 0.0 ; # level 3
mass 302 [expr 5*($massCol2/2 + $massBeam3/2)] [expr 5*($massCol2/2 + $massBeam3/2)] 0.0 ; # level 3
puts "End of Define Model Elements" ;
# # Eigenvalue Analysis
set pi [expr 2.0*asin(1.0)]; # Definition of pi
set nEigenI 1; # mode i = 1
set nEigenJ 2; # mode j = 2
set lambdaN [eigen [expr $nEigenJ]]; # eigenvalue analysis for nEigenJ modes
set lambdaI [lindex $lambdaN [expr 0]]; # eigenvalue mode i = 1
set lambdaJ [lindex $lambdaN [expr $nEigenJ-1]]; # eigenvalue mode j = 2
set w1 [expr pow($lambdaI,0.5)]; # w1 (1st mode circular frequency)
set w2 [expr pow($lambdaJ,0.5)]; # w2 (2nd mode circular frequency)
set T1 [expr 2.0*$pi/$w1]; # 1st mode period of the structure
set T2 [expr 2.0*$pi/$w2]; # 2nd mode period of the structure
puts "W1=$w1 Rad/Sec";
puts "T1=$T1 Sec";
puts "************";
puts "W2=$w2 Rad/Sec";
puts "T2=$T2 Sec";
puts "************";
puts "End of Define Model Geometry" ;
recorder Node -file GVOutPut/BaseNodeReaction.out -time -node 1 2 -dof 2 reaction ;
# define gravity load applied to beams and columns -- eleLoad applies loads in local coordinate axis
# beams
set WzFloor1 [expr ((($DL+$LL)*$Ly)+($Asec300*$RSteel*$g))] ;
set WzFloor2 [expr ((($DL+$LL)*$Ly)+($Asec300*$RSteel*$g))] ;
set WzFloor3 [expr ((($DL+$LL)*$Ly)+($Asec270*$RSteel*$g))] ;
# columns
set WColF1 [expr ($Acol1*$RSteel*$g)] ;
set WColF2 [expr ($Acol1*$RSteel*$g)] ;
set WColF3 [expr ($Acol2*$RSteel*$g)] ;
# braces
set Wbr [expr ($massbr*$g)] ;
#
pattern Plain 1 Linear {
eleLoad -ele 1010 1020 -type -beamUniform -$WzFloor1; # beams level 1 (in -y direction)
eleLoad -ele 2010 2020 -type -beamUniform -$WzFloor2; # beams level 2 (in -y direction)
eleLoad -ele 3010 3020 -type -beamUniform -$WzFloor3; # beams level 3 (in -y direction)
eleLoad -ele 11 12 -type -beamUniform 0.0 -$WColF1; # Box section weight per length Level 1 (in -x direction)
eleLoad -ele 21 22 -type -beamUniform 0.0 -$WColF2; # Box section weight per length Level 2 (in -x direction)
eleLoad -ele 31 32 -type -beamUniform 0.0 -$WColF3; # Box section weight per length Level 3 (in -x direction)
} ;
# Static Analysis
constraints Transformation; # how it handles boundary conditions
numberer RCM; # renumber dof's to minimize band-width (optimization), if you want to
system BandGeneral; # how to store and solve the system of equations in the analysis (large model: try UmfPack)
test EnergyIncr 1.0e-5 50; #
algorithm Newton; #
set NstepGravity 10;
set DGravity [expr 1./$NstepGravity];
integrator LoadControl $DGravity; #
analyze $NstepGravity; # apply gravity
# maintain constant gravity loads and reset time to zero
loadConst -time 0.0;
puts "End of Static Analysis" ;