question abt rotation spring

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

Moderators: silvia, selimgunay, Moderators

Post Reply
pimkkk
Posts: 61
Joined: Wed Mar 03, 2010 11:55 pm
Location: bjut

question abt rotation spring

Post by pimkkk »

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
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Post by vesna »

Would you send me Units&Constants.tcl? I will then try to see what is wrong with your file.

Way are you modeling 2D frame in 3D?
pimkkk
Posts: 61
Joined: Wed Mar 03, 2010 11:55 pm
Location: bjut

Post by pimkkk »

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)];
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Post by vesna »

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.
pimkkk
Posts: 61
Joined: Wed Mar 03, 2010 11:55 pm
Location: bjut

Post by pimkkk »

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!
Post Reply