Problems with a 3D model using ZeroLengthSections

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

Moderators: silvia, selimgunay, Moderators

Post Reply
aldoshoalv
Posts: 4
Joined: Fri May 25, 2018 2:31 pm
Location: México

Problems with a 3D model using ZeroLengthSections

Post by aldoshoalv »

Hi everybody,

I am trying to model a 3D structure with ZeroLengthSection and BeamColumnJoint elements, to do so, I am firstly building a simple frame in the XZ plane. When I run the analysis, the solver fails to solve the equation system. I am using the FullGeneral system and a Plain numberer to check the stiffness matrix. One of the first errors that i noted was that the matrix size is 96x96 instead of being 72x72 (6·12x6·12, where 6 are the dofs and 12 the nodes of my model). The second error is that there are 0s in the main diagonal of the matrix.
My guesses are that this 0s appear because I am not orientating well some elements in my model. I hope you can give me a hand, I would be very thankful.

This is my script:

wipe; # clear memory of all past model definitions
model BasicBuilder -ndm 3 -ndf 6; # Define the model builder, ndm=#dimension, ndf=#dofs
set dataDir Data; # set up name of data directory (you can remove this)
file mkdir $dataDir; # create data directory

# ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Unidades
set m 1.0;
set MN 1.0;

set mm [expr $m/1000.0];
set N [expr $MN/1.0e6];
set kgf [expr $N*9.80665];
set m2 [expr $m*$m];
set m3 [expr $m2*$m];
set mm2 [expr $mm*$mm];
set MPa [expr $MN/$m2];

# ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Constantes
set LCol [expr 3.4*$m]
set LBeamX [expr 10.0*$m]
set LBeamY [expr 8.0*$m]
set PI [expr 2*asin(1.0)]

set d3 [expr 25.4*3.0/8.0*$mm]
set d8 [expr 25.4*8.0/8.0*$mm]
set d12 [expr 25.4*12.0/8.0*$mm]

set A3 [expr $PI*pow($d3/2.0,2)]
set A8 [expr $PI*pow($d8/2.0,2)]
set A12 [expr $PI*pow($d12/2.0,2)]

set Awire [expr 98.7*$mm2]

set rec [expr 20.0*$mm+$d3]

set HBeam [expr 810.0*$mm]
set BBeam [expr 450.0*$mm]
set HU [expr 450.0*$mm]
set BiU [expr 250.0*$mm]
set HiU [expr 320.0*$mm-$d8/2.0]
set coverBS [expr $rec+$d12/2.0]
set coverBIL [expr $rec+$d3/2.0]
set coverPs [expr 50.0*$mm]
set LRigB [expr 0.5*$HBeam]

set HCol [expr 600.0*$mm]
set BCol [expr 600.0*$mm]
set coverC [expr $rec+$d12/2.0]
set LRigCy [expr 0.5*$HCol]
set LRigCx [expr 0.5*$BCol]

set PVConc [expr 2400.0*$kgf/$m3];
set PPViga [expr $PVConc*$HBeam*$BBeam];
set PPCol [expr $PVConc*$HCol*$BCol];

set Ubig 1.e10;

# ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Nodos

node 1 0 0 0
node 2 $LBeamX 0 0
node 301 0 0 [expr $LCol-$LRigB]
node 302 $LRigCx 0 $LCol
node 303 $LRigCx 0 $LCol
node 304 -$LRigCx 0 $LCol
node 308 [expr $LRigCx+$HBeam] 0 $LCol
node 310 0 0 [expr $LCol+$LRigB]
node 401 $LBeamX 0 [expr $LCol-$LRigB]
node 402 [expr $LBeamX+$LRigCx] 0 $LCol
node 403 [expr $LBeamX-$LRigCx] 0 $LCol
node 404 [expr $LBeamX-$LRigCx] 0 $LCol
node 408 [expr $LBeamX-$LRigCx-$HBeam] 0 $LCol
node 410 $LBeamX 0 [expr $LCol+$LRigB]

fixZ 0.0 1 1 1 1 1 1

# ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Materiales

set CCovConcPf 1
set CCoreConcPf 2
set CCoreConcCes 3

set BCovConcPf 4
set BCoreConcPf 5
set BCovConcCes 6
set BCoreConcCes 7

set AceroRef 8
set AceroPresf 9

set Cortante 10
set Torsion 14

set BarSlip8 11
set BarSlip12 12
set BarSlipC 13

set FR 1.0
set FRa 1.25

set fmt "%.5f %.5f %.5f %.5f %.5f %.5f %.5f %.5f %.5f %.5f";
set fmt1 "%.5f %.5f %.5f %.5f %.5f %.5f %.5f %.5f";

# ---------------------------------------------------------------------- COLUMNAS

# 1 ############## Concreto de recubrimiento de las columnas prefabricadas
set fcp [expr -$FR*53.93517561*$MPa]
set ecp [expr -pow(-$fcp/$MPa*145.038,0.25)/4000*$MPa]
set Ecp [expr 4400*sqrt(-$fcp/$MPa)*$MPa]
set ftp [expr 0.63*sqrt(-$fcp/$MPa)*$MPa]
set etp [expr 2*$ftp/$Ecp]
set xp 2
set xn 2.3
set r [expr -$fcp/5.2-1.9]
uniaxialMaterial Concrete07 $CCovConcPf $fcp $ecp $Ecp $ftp $etp $xp $xn $r

puts "Columna Recubrimiento Prefabricada"
puts "fc eps0 Ec ft epst xp xn r"
puts [format $fmt1 $fcp $ecp $Ecp $ftp $etp $xp $xn $r];
puts ""

# 2 ############## Concreto confinado de las columnas prefabricadas
set ke 0.792964332
set rhox 0.002946332
set rhoy 0.002946332
set fyh [expr $FRa*412.0*$MPa]
set fcp [expr -$FR*53.93517561*$MPa]

set flx [expr $ke*$rhox*$fyh]
set fly [expr $ke*$rhoy*$fyh]
set x [expr ($flx+$fly)/(-2*$fcp)]
set r [expr $flx/$fly]
set A [expr 6.8886-(0.6069+17.275*$r)*exp(-4.989*$r)]
set B [expr 4.5/(5/$A*(0.9849-0.6306*exp(-3.8939*$r))-0.1)-5]
set K [expr 1+$A*$x*(0.1+0.9/(1+$B*$x))]
set k1 [expr $A*(0.1+0.9/(1+$B*$x))]
set k2 [expr 5*$k1]

set fcpcc [expr $K*$fcp]
set ecpcc [expr $ecp*(1+$k2*$x)]
set Ecpcc [expr 4400*sqrt(-$fcpcc/$MPa)*$MPa]
set ftpcc [expr 0.63*sqrt(-$fcpcc/$MPa)*$MPa]
set etpcc [expr 2*$ftpcc/$Ecpcc]
set xp 2
set xn 30
set n [expr $Ecpcc*$ecpcc/$fcpcc]

puts "Calculo de confinamiento en columna pref"
puts [format $fmt $x $r $A $B $k1 $k2 $ecp $ecpcc $K $fcpcc];

set r [expr $n/($n-1)]
uniaxialMaterial Concrete07 $CCoreConcPf $fcpcc $ecpcc $Ecpcc $ftpcc $etpcc $xp $xn $r

puts "Columna Confinada Prefabricada"
puts "fc eps0 Ec ft epst xp xn r"
puts [format $fmt1 $fcpcc $ecpcc $Ecpcc $ftpcc $etpcc $xp $xn $r];
puts ""

# 3 ############## Concreto confinado de las columnas coladas en sitio
set ke 0.792964332
set rhox 0.002946332
set rhoy 0.002946332
set fyh [expr $FRa*412.0*$MPa]
set fc [expr -$FR*49.03197783*$MPa]

set flx [expr $ke*$rhox*$fyh]
set fly [expr $ke*$rhoy*$fyh]
set x [expr ($flx+$fly)/(-2*$fc)]
set r [expr $flx/$fly]
set A [expr 6.8886-(0.6069+17.275*$r)*exp(-4.989*$r)]
set B [expr 4.5/(5/$A*(0.9849-0.6306*exp(-3.8939*$r))-0.1)-5]
set K [expr 1+$A*$x*(0.1+0.9/(1+$B*$x))]
set k1 [expr $A*(0.1+0.9/(1+$B*$x))]
set k2 [expr 5*$k1]

set fccc [expr $K*$fc]
set eccc [expr $ecp*(1+$k2*$x)]
set Eccc [expr 4400*sqrt(-$fccc/$MPa)*$MPa]
set ftcc [expr 0.63*sqrt(-$fccc/$MPa)*$MPa]
set etcc [expr 2*$ftcc/$Eccc]
set xp 2
set xn 30
set n [expr $Ecpcc*$ecpcc/$fcpcc]

puts "Calculo de confinamiento en columna CES"
puts [format $fmt $x $r $A $B $k1 $k2 $ecp $eccc $K $fccc];

set r [expr $n/($n-1)]
uniaxialMaterial Concrete07 $CCoreConcCes $fccc $eccc $Eccc $ftcc $etcc $xp $xn $r

puts "Columna Confinada CES"
puts "fc eps0 Ec ft epst xp xn r"
puts [format $fmt1 $fccc $eccc $Eccc $ftcc $etcc $xp $xn $r];
puts ""
puts ""

# ---------------------------------------------------------------------- VP

# 4 ############## Concreto de recubrimiento de las vigas prefabricadas
set fcp [expr -$FR*53.93517561*$MPa]
set ecp [expr -pow(-$fcp/$MPa*145.038,0.25)/4000*$MPa]
set Ecp [expr 4400*sqrt(-$fcp/$MPa)*$MPa]
set ftp [expr 0.63*sqrt(-$fcp/$MPa)*$MPa]
set etp [expr 2*$ftp/$Ecp]
set xp 2
set xn 2.3
set r [expr -$fcp/5.2-1.9]
uniaxialMaterial Concrete07 $BCovConcPf $fcp $ecp $Ecp $ftp $etp $xp $xn $r

puts "Viga Recubrimiento Prefabricada"
puts "fc eps0 Ec ft epst xp xn r"
puts [format $fmt1 $fcp $ecp $Ecp $ftp $etp $xp $xn $r];
puts ""

# 5 ############## Concreto confinado de las vigas prefabricadas
set ke 0.760188949
set rhox 0.00124932
set rhoy 0.002372374
set fyh [expr $FRa*412.0*$MPa]
set fcp [expr -$FR*53.93517561*$MPa]

set flx [expr $ke*$rhox*$fyh]
set fly [expr $ke*$rhoy*$fyh]
set x [expr ($flx+$fly)/(-2*$fcp)]
set r [expr $flx/$fly]
set A [expr 6.8886-(0.6069+17.275*$r)*exp(-4.989*$r)]
set B [expr 4.5/(5/$A*(0.9849-0.6306*exp(-3.8939*$r))-0.1)-5]
set K [expr 1+$A*$x*(0.1+0.9/(1+$B*$x))]
set k1 [expr $A*(0.1+0.9/(1+$B*$x))]
set k2 [expr 5*$k1]

set fcpbc [expr $K*$fcp]
set ecpbc [expr $ecp*(1+$k2*$x)]
set Ecpbc [expr 4400*sqrt(-$fcpbc/$MPa)*$MPa]
set ftpbc [expr 0.63*sqrt(-$fcpbc/$MPa)*$MPa]
set etpbc [expr 2*$ftpbc/$Ecpbc]
set xp 2
set xn 30
set n [expr $Ecpbc*$ecpbc/$fcpbc]

puts "Calculo de confinamiento en viga pref"
puts [format $fmt $x $r $A $B $k1 $k2 $ecp $ecpbc $K $fcpbc];

set r [expr $n/($n-1)]
uniaxialMaterial Concrete07 $BCoreConcPf $fcpbc $ecpbc $Ecpbc $ftpbc $etpbc $xp $xn $r

puts "Viga Confinada Prefabricada"
puts "fc eps0 Ec ft epst xp xn r"
puts [format $fmt1 $fcpbc $ecpbc $Ecpbc $ftpbc $etpbc $xp $xn $r];
puts ""
puts ""

# ---------------------------------------------------------------------- Viga CES

# 6 ############## Concreto de recubrimiento de las vigas coladas en sitio
set fc [expr -$FR*49.03197783*$MPa]
set ec [expr -pow(-$fc/$MPa*145.038,0.25)/4000*$MPa]
set Ec [expr 4400*sqrt(-$fc/$MPa)*$MPa]
set Gc [expr $Ec/(2*(1+0.2))]
set ft [expr 0.63*sqrt(-$fc/$MPa)*$MPa]
set et [expr 2*$ft/$Ec]
set xp 2
set xn 2.3
set r [expr -$fc/5.2-1.9]
uniaxialMaterial Concrete07 $BCovConcCes $fc $ec $Ec $ft $et $xp $xn $r

puts "Viga Recubrimiento CES"
puts "fc eps0 Ec ft epst xp xn r"
puts [format $fmt1 $fc $ec $Ec $ft $et $xp $xn $r];
puts ""

# 7 ############## Concreto confinado de las vigas coladas en sitio
set ke 0.760188949
set rhox 0.00124932
set rhoy 0.002372374
set fyh [expr $FRa*412.0*$MPa]
set fc [expr -$FR*49.03197783*$MPa]

set flx [expr $ke*$rhox*$fyh]
set fly [expr $ke*$rhoy*$fyh]
set x [expr ($flx+$fly)/(-2*$fc)]
set r [expr $flx/$fly]
set A [expr 6.8886-(0.6069+17.275*$r)*exp(-4.989*$r)]
set B [expr 4.5/(5/$A*(0.9849-0.6306*exp(-3.8939*$r))-0.1)-5]
set K [expr 1+$A*$x*(0.1+0.9/(1+$B*$x))]
set k1 [expr $A*(0.1+0.9/(1+$B*$x))]
set k2 [expr 5*$k1]

set fcpbc [expr $K*$fc]
set ecpbc [expr $ec*(1+$k2*$x)]
set Ecpbc [expr 4400*sqrt(-$fcpbc/$MPa)*$MPa]
set ftpbc [expr 0.63*sqrt(-$fcpbc/$MPa)*$MPa]
set etpbc [expr 2*$ftpbc/$Ecpbc]
set xp 2.0
set xn 30.0
set n [expr $Ecpbc*$ecpbc/$fcpbc]
set r [expr $n/($n-1)]
uniaxialMaterial Concrete07 $BCoreConcCes $fcpbc $ecpbc $Ecpbc $ftpbc $etpbc $xp $xn $r

puts "Calculo de confinamiento en viga CES"
puts [format $fmt $x $r $A $B $k1 $k2 $ec $ecpbc $K $fcpbc];
puts "Viga Confinada CES"
puts "fc eps0 Ec ft epst xp xn r"
puts [format $fmt1 $fcpbc $ecpbc $Ecpbc $ftpbc $etpbc $xp $xn $r];
puts ""

# -------------------------------------------------------------- Acero de refuerzo

set Fy [expr $FRa*412.0*$MPa]; # STEEL yield stress
set Es [expr 200000.0*$MPa]; # modulus of steel
set Bs 0.01; # strain-hardening ratio
set R0 18; # control the transition from elastic to plastic branches
set cR1 0.925; # control the transition from elastic to plastic branches
set cR2 0.15; # control the transition from elastic to plastic branches

uniaxialMaterial Steel02 $AceroRef $Fy $Es $Bs $R0 $cR1 $cR2

# -------------------------------------------------------------- Acero de presfuerzo

set Fyp [expr 1804.4236*$MPa]; # STEEL yield stress
set Es [expr 196415.5296*$MPa]; # modulus of steel
set PerdIni 0.2
set InitSt [expr 745.18617*(1-$PerdIni)*$MPa];

set bk 0.005;
set R0 10;
set r1 0.9;
set r2 0.15;

set bi 0.031;
set bl -0.0075;
set rhoi [expr (1915.14068*$MPa-$Fyp)/$Fyp];
set Ri 1.5;
set lyp 1.375;

uniaxialMaterial Steel4 $AceroPresf $Fyp $Es -kin $bk $R0 $r1 $r2 -iso $bi $rhoi $bl $Ri $lyp -init $InitSt

# ---------------------------------------------------------------------- Cortante

uniaxialMaterial Elastic $Cortante $Gc

# ---------------------------------------------------------------------- Torsión

uniaxialMaterial Elastic $Torsion $Ubig

# ---------------------------------------------------------------------- BarSlip

set fc [expr -$fccc]
set fy $Fy
set Es [expr 200000.0*$MPa]
set fu [expr $FRa*600.0*$MPa]
set Eh [expr $Bs*$Fy]
set db $d12
set ld [expr 550.0*$mm]
set nb 2
set depth [expr 600.0*$mm]
set height [expr 810.0*$mm]
set bsFlag "weak"
set type "beamtop"
set damage "nodamage"
set unit "MPa"
uniaxialMaterial BarSlip $BarSlip12 $fc $fy $Es $fu $Eh $db $ld $nb $depth $height $bsFlag $type $damage $unit

set db $d8
set nb 4
set bsFlag "weak"
set type "beambot"
set damage "nodamage"
uniaxialMaterial BarSlip $BarSlip8 $fc $fy $Es $fu $Eh $db $ld $nb $depth $height $bsFlag $type $damage $unit

set db [expr ($d8+2*$d12)/3.0]
set ld [expr 810.0*$mm]
set nb 3
set depth [expr 810.0*$mm]
set height [expr 600.0*$mm]
set bsFlag "Strong"
set type "column"
set damage "nodamage"
uniaxialMaterial BarSlip $BarSlipC $fc $fy $Es $fu $Eh $db $ld $nb $depth $height $bsFlag $type $damage $unit

# ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Secciones
set BeamSecTag 1
set ZLESecTag 2
set ColSecTag 3

#Viga
set z1 [expr $BBeam/2.0]; set y1 [expr -$HBeam/2.0]
set z2 [expr -$z1]; set y2 $y1
set z3 $z2; set y3 [expr $y2+$coverBIL]
set z4 $z2; set y4 [expr $y2+$HU]
set z5 $z2; set y5 [expr -$y2-$coverBS]
set z6 $z2; set y6 [expr -$y2]
set z7 $z1; set y7 $y6
set z8 $z1; set y8 $y5
set z9 $z1; set y9 $y4
set z10 $z1; set y10 $y3
set z11 [expr $z1-$coverBIL]; set y11 $y3
set z12 [expr -$z11]; set y12 $y3
set z13 $z12; set y13 [expr $y4-$HiU]
set z14 $z12; set y14 $y4
set z15 $z12; set y15 $y5
set z16 $z11; set y16 $y5
set z17 $z11; set y17 $y4
set z18 $z11; set y18 $y13
set z19 [expr $BiU/2.0]; set y19 $y13
set z20 [expr -$z19]; set y20 $y13
set z21 $z20; set y21 $y4
set z22 $z19; set y22 $y4
set z23 $z19; set y23 [expr $y1+$coverPs]
set z24 $z20; set y24 $y23

set npc 5
set npl 20

section Fiber $BeamSecTag -GJ $Ubig {
# Cover
patch quad $BCovConcPf 1 $npc $y1 $z1 $y2 $z2 $y3 $z3 $y10 $z10
patch quad $BCovConcPf $npl 1 $y3 $z3 $y4 $z4 $y14 $z14 $y12 $z12
patch quad $BCovConcPf $npl 1 $y9 $z9 $y10 $z10 $y11 $z11 $y17 $z17
patch quad $BCovConcCes 1 $npc $y8 $z8 $y5 $z5 $y6 $z6 $y7 $z7
patch quad $BCovConcCes $npl 1 $y4 $z4 $y5 $z5 $y15 $z15 $y14 $z14
patch quad $BCovConcCes $npl 1 $y8 $z8 $y9 $z9 $y17 $z17 $y16 $z16

# Core
patch quad $BCoreConcPf 1 $npc $y11 $z11 $y12 $z12 $y13 $z13 $y18 $z18
patch quad $BCoreConcPf $npl 1 $y13 $z13 $y14 $z14 $y21 $z21 $y20 $z20
patch quad $BCoreConcPf $npl 1 $y17 $z17 $y18 $z18 $y19 $z19 $y22 $z22

patch quad $BCoreConcCes 1 $npl $y19 $z19 $y20 $z20 $y21 $z21 $y22 $z22
patch quad $BCoreConcCes 1 $npl $y17 $z17 $y14 $z14 $y15 $z15 $y16 $z16

# Acero
layer straight $AceroRef 2 $A12 $y16 $z16 $y15 $z15
layer straight $AceroRef 4 $A8 $y19 $z19 $y20 $z20
layer straight $AceroRef 3 $A3 $y11 $z11 $y17 $z17
layer straight $AceroRef 3 $A3 $y12 $z12 $y14 $z14

# Acero Pf
layer straight $AceroPresf 4 $Awire $y23 $z23 $y24 $z24
}

section Fiber $ZLESecTag -GJ $Ubig {
# Cover
patch quad $BCovConcCes 1 $npc $y1 $z1 $y2 $z2 $y3 $z3 $y10 $z10
patch quad $BCovConcCes $npl 1 $y3 $z3 $y4 $z4 $y14 $z14 $y12 $z12
patch quad $BCovConcCes $npl 1 $y9 $z9 $y10 $z10 $y11 $z11 $y17 $z17
patch quad $BCovConcCes 1 $npc $y8 $z8 $y5 $z5 $y6 $z6 $y7 $z7
patch quad $BCovConcCes $npl 1 $y4 $z4 $y5 $z5 $y15 $z15 $y14 $z14
patch quad $BCovConcCes $npl 1 $y8 $z8 $y9 $z9 $y17 $z17 $y16 $z16

# Core
patch quad $BCovConcCes 1 $npc $y11 $z11 $y12 $z12 $y13 $z13 $y18 $z18
patch quad $BCovConcCes $npl 1 $y13 $z13 $y14 $z14 $y21 $z21 $y20 $z20
patch quad $BCovConcCes $npl 1 $y17 $z17 $y18 $z18 $y19 $z19 $y22 $z22

patch quad $BCovConcCes 1 $npl $y19 $z19 $y20 $z20 $y21 $z21 $y22 $z22
patch quad $BCoreConcCes 1 $npl $y17 $z17 $y14 $z14 $y15 $z15 $y16 $z16

# Acero
layer straight $AceroRef 2 $A12 $y16 $z16 $y15 $z15
layer straight $AceroRef 4 $A8 $y19 $z19 $y20 $z20
}

#Columna
set z1 [expr $BCol/2.0]; set y1 [expr -$HCol/2.0]
set z2 [expr -$z1]; set y2 $y1
set z3 $z2; set y3 [expr $y2+$coverC]
set z4 $z2; set y4 [expr -$y3]
set z5 $z2; set y5 [expr -$y2]
set z6 $z1; set y6 $y5
set z7 $z1; set y7 $y4
set z8 $z1; set y8 $y3
set z9 [expr $z1-$coverC]; set y9 $y3
set z10 [expr -$z9]; set y10 $y3
set z11 $z10; set y11 $y4
set z12 $z9; set y12 $y4
set z13 0.0; set y13 $y3
set z14 $z10; set y14 0.0
set z15 0.0; set y15 $y4
set z16 $z9; set y16 0.0

section Fiber $ColSecTag -GJ $Ubig {
# Cover
patch quad $CCovConcPf 1 $npc $y1 $z1 $y2 $z2 $y3 $z3 $y8 $z8
patch quad $CCovConcPf $npl 1 $y3 $z3 $y4 $z4 $y11 $z11 $y10 $z10
patch quad $CCovConcPf $npl 1 $y7 $z7 $y8 $z8 $y9 $z9 $y12 $z12
patch quad $CCovConcPf 1 $npc $y7 $z7 $y4 $z4 $y5 $z5 $y6 $z6

# Core
patch quad $CCoreConcPf 1 $npl $y9 $z9 $y10 $z10 $y11 $z11 $y12 $z12

# Acero
layer straight $AceroRef 2 $A12 $y9 $z9 $y10 $z10
layer straight $AceroRef 2 $A12 $y12 $z12 $y11 $z11
layer straight $AceroRef 2 $A8 $y13 $z13 $y15 $z15
layer straight $AceroRef 2 $A8 $y16 $z16 $y14 $z14

}

set SecCol 4
set SecViga 5
set SecZLE 6

section Aggregator $SecCol $Cortante Vy $Cortante Vz -section $ColSecTag
section Aggregator $SecViga $Cortante Vy $Cortante Vz -section $BeamSecTag
section Aggregator $SecZLE $Cortante Vy $Cortante Vz -section $ZLESecTag

# ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Elementos
set IDColTransf 1
set IDBeamXTransf 2
set IDBeamYTransf 3

set BeamXTransfType Linear; # options, Linear PDelta Corotational
set BeamYTransfType Linear; # options, Linear PDelta Corotational
set ColTransfType PDelta; # options, Linear PDelta Corotational

geomTransf $ColTransfType $IDColTransf -1 0 0;
geomTransf $BeamXTransfType $IDBeamXTransf 0 -1 0;
geomTransf $BeamYTransfType $IDBeamYTransf 1 0 0;

set numIntgrPts 5
set maxIters 10
set tolEl 1e-6

set eleHeightFac 0.783144517
set eleWidthFac 0.869833333

element nonlinearBeamColumn 1 1 301 $numIntgrPts $SecCol $IDColTransf ; # -mass $PPCol; # -iter $maxIters $tolEl
element nonlinearBeamColumn 2 2 401 $numIntgrPts $SecCol $IDColTransf ; # -mass $PPCol; # -iter $maxIters $tolEl

element zeroLengthSection 3 302 303 $SecZLE -orient 1 0 0 0 0 1
element nonlinearBeamColumn 4 303 308 $numIntgrPts $SecViga $IDBeamXTransf ; # -mass $PPViga; # -iter $maxIters $tolEl
element nonlinearBeamColumn 5 308 408 $numIntgrPts $SecViga $IDBeamXTransf ; # -mass $PPViga; # -iter $maxIters $tolEl
element nonlinearBeamColumn 6 408 403 $numIntgrPts $SecViga $IDBeamXTransf ; # -mass $PPViga; # -iter $maxIters $tolEl
element zeroLengthSection 7 403 404 $SecZLE -orient 1 0 0 0 0 1

element beamColumnJoint 8 301 302 310 304 $BarSlipC $BarSlipC $Cortante $BarSlip8 $BarSlip12 $Cortante $BarSlipC $BarSlipC $Cortante $CCoreConcCes $CCoreConcCes $Cortante $CCoreConcCes $eleHeightFac $eleWidthFac
element beamColumnJoint 9 401 402 410 404 $BarSlipC $BarSlipC $Cortante $BarSlip8 $BarSlip12 $Cortante $BarSlipC $BarSlipC $Cortante $CCoreConcCes $CCoreConcCes $Cortante $CCoreConcCes $eleHeightFac $eleWidthFac

# ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Recorders
recorder Node -file $dataDir/RzBase15.out -time -node 1 2 -dof 1 2 3 reaction; # support reaction

# ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- AnalGrav
puts "Model Built"

pattern Plain 101 Linear {
eleLoad -ele 1 -type -beamUniform 0 0 -$PPCol; # Columnas
eleLoad -ele 2 -type -beamUniform 0 0 -$PPCol; # Columnas

eleLoad -ele 4 -type -beamUniform -$PPViga 0; # VigasX
eleLoad -ele 5 -type -beamUniform -$PPViga 0; # VigasX
eleLoad -ele 6 -type -beamUniform -$PPViga 0; # VigasX
}

puts goGravity

set Tol 1.0e-6; # convergence tolerance for test
set NstepGravity 10; # apply gravity in 10 steps
set DGravity [expr 1.0/$NstepGravity]; # load increment

# Gravity-analysis parameters -- load-controlled static analysis
variable constraintsTypeGravity Lagrange;
constraints $constraintsTypeGravity ; # how it handles boundary conditions
numberer RCM; # renumber dof's to minimize band-width (optimization), if you want to
system FullGeneral ; # how to store and solve the system of equations in the analysis (large model: try UmfPack)
test EnergyIncr $Tol 6 ; # determine if convergence has been achieved at the end of an iteration step
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
integrator LoadControl $DGravity; # determine the next time step for an analysis
analysis Static; # define type of analysis static or transient
analyze $NstepGravity; # apply gravity
printA -file matrix.txt;

loadConst -time 0.0
Aldo Alonso Lugo Valadez
Structural Engineering Masters Program
Universidad Autónoma Metropolitana
Mexico City
ismailqeshta
Posts: 115
Joined: Mon Feb 20, 2017 1:19 am
Location: RMIT University, Melbourne, Australia

Re: Problems with a 3D model using ZeroLengthSections

Post by ismailqeshta »

I am not sure about the coordinates directions of your model, but I think you need to double check the fixity. You are using fix 1 0 1 1 1 1 1. Remember that you need to restrain Vy, Vz and T.
Post Reply