4,5 6,7
●◎══════════════◎●
◎ ◎
║3. ║8
║ ║
║ ║
║2. ║9
◎ ◎
●1. ●10
╩ ╩
for { set runnum 1 } { $runnum <= 17} { incr runnum } {
wipe;
model basic -ndm 3 -ndf 6;
file mkdir try;
source Units&Constants.tcl;
set alpha [expr 0.01+2.0*($runnum-1)];
puts $alpha
set LCol [expr 0.1*$m];
set E [expr 30*$GPa];
set u [expr 0.2];
set ACol 1.0;
set ICol 1.0;
set G [expr $E*$ICol*$alpha*$alpha/$ACol/$LCol/$LCol] ;
set lCol [expr $LCol/1.0];
set xCol [expr $LCol/100.0];
node 1 0 0 [expr 0*$lCol];
node 2 0 0 [expr 0*$lCol];
node 3 0 0 [expr 1*$lCol];
node 4 0 0 [expr 1*$lCol];
node 5 0 0 [expr 1*$lCol];
node 6 $xCol 0 [expr 1*$lCol];
node 7 $xCol 0 [expr 1*$lCol];
node 8 $xCol 0 [expr 1*$lCol];
node 9 $xCol 0 [expr 0*$lCol];
node 10 $xCol 0 [expr 0*$lCol];
fix 1 1 1 1 1 1 1;
fix 10 1 1 1 1 1 1;
equalDOF 1 2 1 2;
equalDOF 4 3 1 2;
equalDOF 4 5 1 2;
equalDOF 7 6 1 2;
equalDOF 7 8 1 2;
#equalDOF 9 10 1 2;
set gamma [expr 2000000.00*$N/pow($m,3)];
set mass1 [expr $gamma/$g];
set mass2 [expr $mass1*$ACol*$lCol];
set weight2 [expr $mass2*$g]
mass 4 $mass2 1.e-9 1.e-9 1.e-9 1.e-9 1.e-9 ;
mass 7 $mass2 1.e-9 1.e-9 1.e-9 1.e-9 1.e-9 ;
set ShearmatTag 1;
set ShearmatTagDUMMY 2;
uniaxialMaterial Elastic $ShearmatTag [expr $G*1];
uniaxialMaterial Elastic $ShearmatTagDUMMY [expr $G*0.0000001];
set ColTransfTag 5;
set ColTransfTagPD 6; # Column geometric transformation tag
set numIntgrPts 6; # Number of integration points
geomTransf Linear $ColTransfTag 0.0 1.0 0.0;
set ColShearSecTagDUMMY 3;
set ColMomentSecTagDUMMY 4;
set ColShearSecTag 5;
set ColMomentSecTag 6;
section Elastic $ColShearSecTagDUMMY [expr 0.0000001*$E] [expr 1.0*$ACol] [expr 1.0*$ICol] [expr 1.0*$ICol] [expr 1.0*$G] 1000000.0;
section Elastic $ColMomentSecTagDUMMY [expr 1.0*$E] [expr 1.0*$ACol] [expr 1.0*$ICol] [expr 1.0*$ICol] [expr 0.0000001*$G] 1000000.0;
section Aggregator $ColMomentSecTag $ShearmatTagDUMMY Vy $ShearmatTagDUMMY Vz -section $ColMomentSecTagDUMMY ;
section Aggregator $ColShearSecTag $ShearmatTag Vy $ShearmatTag Vz -section $ColShearSecTagDUMMY ;
element nonlinearBeamColumn 1 2 3 $numIntgrPts $ColMomentSecTag $ColTransfTag;
element nonlinearBeamColumn 2 5 6 $numIntgrPts $ColShearSecTag $ColTransfTag;
element nonlinearBeamColumn 3 8 9 $numIntgrPts $ColShearSecTag $ColTransfTag;
element zeroLength 4 1 2 -mat $ShearmatTag -dir 6
element zeroLength 5 3 4 -mat $ShearmatTag -dir 6
element zeroLength 6 4 5 -mat $ShearmatTag -dir 6
element zeroLength 7 6 7 -mat $ShearmatTag -dir 6
element zeroLength 8 7 8 -mat $ShearmatTag -dir 6
element zeroLength 9 10 9 -mat $ShearmatTag -dir 6
set w 10000;
pattern Plain 1 Linear {
eleLoad -ele 1 -type -beamUniform [expr 1*$w] 0
};
recorder Node -file try/Displacements_1$runnum.out -node 1 4 -dof 1 disp;
recorder Drift -file try/drift$runnum.out -iNode 1 4 -jNode 1 4 -dof 1 -perpDirn 3
set Tol 1.0e-8;
constraints Plain;
numberer Plain;
system BandGeneral;
test NormDispIncr $Tol 6;
algorithm Newton;
set Nstep 10;
set D [expr 1./$Nstep];
integrator LoadControl $D;
analysis Static;
analyze $Nstep;
loadConst -time 0.0
}
puts "done"
i got analyze failed error,...please help me with that, thanks
question abt rotation spring
Moderators: silvia, selimgunay, Moderators
thank you for your reply. here is the units file
# UNITS AND CONSTANTS
# Define basic units
set m 1.0; # meter
set sec 1.0; # second
set kN 1.0; # kiloNewton
# Define constants
set PI [expr 2*asin(1.0)]; # pi
set g [expr 9.81*$m/pow($sec,2)]; # gravity
set U 1.e+10; # a really large number
set u [expr 1./$U]; # a really small number
# Define dependent units
set mm [expr $m*1.e-3]; # milimetre
set cm [expr $m*1.e-2]; # centimetre
set N [expr $kN*1.e-3]; # Newton
set Pa [expr $N/pow($m,2)]; # Pascal
set kPa [expr $kN/pow($m,2)]; # kiloPascal
set MPa [expr ($kN*1.e+3)/pow($m,2)]; # MegaPascal
set GPa [expr ($kN*1.e+6)/pow($m,2)]; # GigaPascal
set kg [expr $N/$g]; # kilogram
set t [expr $kg*1.e+3]; # ton
# US customary units
set IUS [expr 1.e-3*pow(25.4,2)/4.448222];
set USI [expr 1.e+3*4.448222/pow(25.4,2)];
# UNITS AND CONSTANTS
# Define basic units
set m 1.0; # meter
set sec 1.0; # second
set kN 1.0; # kiloNewton
# Define constants
set PI [expr 2*asin(1.0)]; # pi
set g [expr 9.81*$m/pow($sec,2)]; # gravity
set U 1.e+10; # a really large number
set u [expr 1./$U]; # a really small number
# Define dependent units
set mm [expr $m*1.e-3]; # milimetre
set cm [expr $m*1.e-2]; # centimetre
set N [expr $kN*1.e-3]; # Newton
set Pa [expr $N/pow($m,2)]; # Pascal
set kPa [expr $kN/pow($m,2)]; # kiloPascal
set MPa [expr ($kN*1.e+3)/pow($m,2)]; # MegaPascal
set GPa [expr ($kN*1.e+6)/pow($m,2)]; # GigaPascal
set kg [expr $N/$g]; # kilogram
set t [expr $kg*1.e+3]; # ton
# US customary units
set IUS [expr 1.e-3*pow(25.4,2)/4.448222];
set USI [expr 1.e+3*4.448222/pow(25.4,2)];
Can you tell me way are you trying to model 2D frame in 3D?
Would you describe me what are you trying to model?
From your model it looks like you have torsional springs in columns and out of plane rotational springs in beam. Your MP constraints (equalDOFs) are not set properly. e.g., if your zeroLength element acts in direction 6 all other dofs have to be constrained to the closest node. You are constraining only dofs 1 and 2 and not at all spring locations.
Also transformation for beam and columns is the same in your example. Once you are in 3D they are not the same any more.
I suggest you to follow the example i sent you last time and to model your frame in 2D, if possible. Let me know if you still have problems.
Would you describe me what are you trying to model?
From your model it looks like you have torsional springs in columns and out of plane rotational springs in beam. Your MP constraints (equalDOFs) are not set properly. e.g., if your zeroLength element acts in direction 6 all other dofs have to be constrained to the closest node. You are constraining only dofs 1 and 2 and not at all spring locations.
Also transformation for beam and columns is the same in your example. Once you are in 3D they are not the same any more.
I suggest you to follow the example i sent you last time and to model your frame in 2D, if possible. Let me know if you still have problems.
thank you so much for your helpful reply, i actually wanna model a 3D frame, a single story single bay frame, having one rotation spring at each end of the beam column connection.
besides, i also have a question about my earlier model, i used to have a fixed end frame, and i changed the fixed ends into rotation springs, but i got the exactly same results(deformation), could you please let me know how it was like that?
this is code for rotation spings end:
for { set runnum 1 } { $runnum <= 17} { incr runnum } {
wipe;
model basic -ndm 3 -ndf 6;
file mkdir Trial_1elespring;
source Units&Constants.tcl;
set alpha [expr 0.01+2.0*($runnum-1)];
set LCol [expr 0.1*$m];
set E [expr 30*$GPa];
set u [expr 0.2];
set ACol 1.0;
set ICol 1.0;
set G [expr $E*$ICol*$alpha*$alpha/$ACol/$LCol/$LCol] ;
set lCol [expr $LCol/1.0];
set xCol [expr $LCol/100.0];
node 121 0 0 [expr 0*$lCol];
node 1 0 0 [expr 0*$lCol];
node 101 0 0 [expr 1*$lCol];
node 221 $xCol 0 [expr 0*$lCol];
node 2 $xCol 0 [expr 0*$lCol];
node 201 $xCol 0 [expr 1*$lCol];
fix 1 1 1 1 1 1 1;
fix 2 1 1 1 1 1 1;
fix 121 1 1 1 1 0 1;
fix 221 1 1 1 1 0 1;
equalDOF 101 201 1 ;
set gamma [expr 2000000.00*$N/pow($m,3)];
set mass1 [expr $gamma/$g];
set mass2 [expr $mass1*$ACol*$lCol];
set weight2 [expr $mass2*$g]
mass 201 $mass2 1.e-9 0 0 0 0 ;
set ShearmatTag 1;
set ShearmatTagDUMMY 2;
uniaxialMaterial Elastic $ShearmatTag [expr $G*1];
uniaxialMaterial Elastic $ShearmatTagDUMMY [expr $G*0.0000001];
set ColTransfTag 5;
set ColTransfTagPD 6; # Column geometric transformation tag
set numIntgrPts 6; # Number of integration points
geomTransf Linear $ColTransfTag 0.0 1.0 0.0;
set ColShearSecTagDUMMY 3;
set ColMomentSecTagDUMMY 4;
set ColShearSecTag 5;
set ColMomentSecTag 6;
section Elastic $ColShearSecTagDUMMY [expr 0.0000001*$E] [expr 1.0*$ACol] [expr 1.0*$ICol] [expr 1.0*$ICol] [expr 1.0*$G] 1000000.0;
section Elastic $ColMomentSecTagDUMMY [expr 1.0*$E] [expr 1.0*$ACol] [expr 1.0*$ICol] [expr 1.0*$ICol] [expr 0.0000001*$G] 1000000.0;
section Aggregator $ColMomentSecTag $ShearmatTagDUMMY Vy $ShearmatTagDUMMY Vz -section $ColMomentSecTagDUMMY ;
section Aggregator $ColShearSecTag $ShearmatTag Vy $ShearmatTag Vz -section $ColShearSecTagDUMMY ;
element nonlinearBeamColumn 101 121 101 $numIntgrPts $ColMomentSecTag $ColTransfTag;
element nonlinearBeamColumn 201 221 201 $numIntgrPts $ColShearSecTag $ColTransfTag;
element zeroLength 121 1 121 -mat $ShearmatTag -dir 5
element zeroLength 221 2 221 -mat $ShearmatTag -dir 5
set w 10000;
pattern Plain 1 Linear {
eleLoad -ele 101 -type -beamUniform [expr 1*$w] 0
};
recorder Node -file Trial_1elespring/Displacements_1$runnum.out -node 1 101 -dof 1 disp;
recorder Drift -file Trial_1elespring/drift$runnum.out -iNode 1 1 -jNode 1 101 -dof 1 -perpDirn 3
set Tol 1.0e-8;
constraints Plain;
numberer Plain;
system BandGeneral;
test NormDispIncr $Tol 6;
algorithm Newton;
set Nstep 10;
set D [expr 1./$Nstep];
integrator LoadControl $D;
analysis Static;
analyze $Nstep;
loadConst -time 0.0
}
thank you soooooo much!
besides, i also have a question about my earlier model, i used to have a fixed end frame, and i changed the fixed ends into rotation springs, but i got the exactly same results(deformation), could you please let me know how it was like that?
this is code for rotation spings end:
for { set runnum 1 } { $runnum <= 17} { incr runnum } {
wipe;
model basic -ndm 3 -ndf 6;
file mkdir Trial_1elespring;
source Units&Constants.tcl;
set alpha [expr 0.01+2.0*($runnum-1)];
set LCol [expr 0.1*$m];
set E [expr 30*$GPa];
set u [expr 0.2];
set ACol 1.0;
set ICol 1.0;
set G [expr $E*$ICol*$alpha*$alpha/$ACol/$LCol/$LCol] ;
set lCol [expr $LCol/1.0];
set xCol [expr $LCol/100.0];
node 121 0 0 [expr 0*$lCol];
node 1 0 0 [expr 0*$lCol];
node 101 0 0 [expr 1*$lCol];
node 221 $xCol 0 [expr 0*$lCol];
node 2 $xCol 0 [expr 0*$lCol];
node 201 $xCol 0 [expr 1*$lCol];
fix 1 1 1 1 1 1 1;
fix 2 1 1 1 1 1 1;
fix 121 1 1 1 1 0 1;
fix 221 1 1 1 1 0 1;
equalDOF 101 201 1 ;
set gamma [expr 2000000.00*$N/pow($m,3)];
set mass1 [expr $gamma/$g];
set mass2 [expr $mass1*$ACol*$lCol];
set weight2 [expr $mass2*$g]
mass 201 $mass2 1.e-9 0 0 0 0 ;
set ShearmatTag 1;
set ShearmatTagDUMMY 2;
uniaxialMaterial Elastic $ShearmatTag [expr $G*1];
uniaxialMaterial Elastic $ShearmatTagDUMMY [expr $G*0.0000001];
set ColTransfTag 5;
set ColTransfTagPD 6; # Column geometric transformation tag
set numIntgrPts 6; # Number of integration points
geomTransf Linear $ColTransfTag 0.0 1.0 0.0;
set ColShearSecTagDUMMY 3;
set ColMomentSecTagDUMMY 4;
set ColShearSecTag 5;
set ColMomentSecTag 6;
section Elastic $ColShearSecTagDUMMY [expr 0.0000001*$E] [expr 1.0*$ACol] [expr 1.0*$ICol] [expr 1.0*$ICol] [expr 1.0*$G] 1000000.0;
section Elastic $ColMomentSecTagDUMMY [expr 1.0*$E] [expr 1.0*$ACol] [expr 1.0*$ICol] [expr 1.0*$ICol] [expr 0.0000001*$G] 1000000.0;
section Aggregator $ColMomentSecTag $ShearmatTagDUMMY Vy $ShearmatTagDUMMY Vz -section $ColMomentSecTagDUMMY ;
section Aggregator $ColShearSecTag $ShearmatTag Vy $ShearmatTag Vz -section $ColShearSecTagDUMMY ;
element nonlinearBeamColumn 101 121 101 $numIntgrPts $ColMomentSecTag $ColTransfTag;
element nonlinearBeamColumn 201 221 201 $numIntgrPts $ColShearSecTag $ColTransfTag;
element zeroLength 121 1 121 -mat $ShearmatTag -dir 5
element zeroLength 221 2 221 -mat $ShearmatTag -dir 5
set w 10000;
pattern Plain 1 Linear {
eleLoad -ele 101 -type -beamUniform [expr 1*$w] 0
};
recorder Node -file Trial_1elespring/Displacements_1$runnum.out -node 1 101 -dof 1 disp;
recorder Drift -file Trial_1elespring/drift$runnum.out -iNode 1 1 -jNode 1 101 -dof 1 -perpDirn 3
set Tol 1.0e-8;
constraints Plain;
numberer Plain;
system BandGeneral;
test NormDispIncr $Tol 6;
algorithm Newton;
set Nstep 10;
set D [expr 1./$Nstep];
integrator LoadControl $D;
analysis Static;
analyze $Nstep;
loadConst -time 0.0
}
thank you soooooo much!