pinching4 material misfunctioning

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

Moderators: silvia, selimgunay, Moderators

Post Reply
UMUT AKIN
Posts: 18
Joined: Tue Oct 19, 2010 4:19 am
Location: Middle East Tech. University

pinching4 material misfunctioning

Post by UMUT AKIN »

Hello everyone...

I am modeling a beam to column connection and defining the moment-rotation characteristics of beams, columns and connection using 2D rotational springs made of pinching4 material; 4 performance points. Loading is cyclic.

the joint spring has 4 phases, pre-yield (increasing strength), post yield (still increasing with lower stiffness), smooth (strength @ maximum), and decreasing (strength decreases to 80% of maximum). In this situation, the spring functions as expected until 3rd point (end of smooth phase) but the rotation never passes to decreasing strength region, convergence problem occurs.

If I do not define strength decrease at the last phase of joint moment-rotation, it continues to function properly but the problem is, I need the decreasing moment rotation phase also.

For the beams and columns, since the relation is defined in three phases without any decreasing portion, I do not come across such a problem.

Can anyone help? I am in the last step of my thesis but could not find any solution to overcome this problem...
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: pinching4 material misfunctioning

Post by vesna »

What type of analysis are you doing: static or dynamic? What integrator do you use? Are you trying to change analysis objects if your analysis is not converging (in a loop)? What is deformation of your material at points 3 and 4?
UMUT AKIN
Posts: 18
Joined: Tue Oct 19, 2010 4:19 am
Location: Middle East Tech. University

Re: pinching4 material misfunctioning

Post by UMUT AKIN »

"system ProfileSPD
constraints Plain
integrator LoadControl 0 1 0 0
test NormDispIncr 1e-8 150
algorithm Newton
numberer RCM
analysis Static"

above are the details of my solver system. Cyclic loading procedure takes the peak points of displacements as input and performs static analysis, (using the procedure written by N.Mitra, as presented in the manual at the end of 'beamcolumnjoint discussion' example).
http://opensees.berkeley.edu/OpenSees/m ... l/1180.htm - is the cyclic loading procedure.

The moment and rotation points of points are as below
def. force
0.0009 502585.89
0.0041 694091.86
0.0105 700947.64
0.0163 555585.31

I want to ask you something, as you can see forces of point 2 and 3 (694-700) are very close and defines nearly a horizontal line. In my analysis I realized that as soon as the deformation passes point 2, immediately reaches point 3 and starts to loop there. May the problem stem from the horizontal definition of points 2 and 3 ?

Thanks in advance...
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: pinching4 material misfunctioning

Post by vesna »

Your problem comes from using LoadControl integrator. You should use DisplacementControl integrator.

Look at this example: http://opensees.berkeley.edu/wiki/index ... ialExample. It might be very useful for solving your problem.
UMUT AKIN
Posts: 18
Joined: Tue Oct 19, 2010 4:19 am
Location: Middle East Tech. University

Re: pinching4 material misfunctioning

Post by UMUT AKIN »

There are two integrators defined, the same as in the example. in the main part,( http://opensees.berkeley.edu/OpenSees/m ... l/1178.htm ) a load control integrator is defined. And in the cyclic loading part, ( http://opensees.berkeley.edu/OpenSees/m ... l/1180.htm ) the integrations are done using displacement controlled integrators.

Below is the cyclic loading procedure.

------------------
proc procRC { incre nodeTag dofTag peakpts } {
set displayTag 0;
set numTimes 150;
set x [lindex $peakpts 0];
set dU [expr $x/$incre];
#set dU0 [expr $dU/1000];
set dU0 [expr $dU/1000];
integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU $dU
analysis Static
analyze $incre
integrator DisplacementControl $nodeTag $dofTag 0.0 1 [expr -$dU] [expr -$dU]
analyze [expr 2*$incre]
integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU $dU
analyze $incre
## end the first peak pt start for others
for {set j 1} {$j < [llength $peakpts]} {incr j 1} {
set y [lindex $peakpts $j]
set dSt [expr $y/$dU]
set dS [expr int($dSt)]
test NormDispIncr 1e-8 $numTimes $displayTag
algorithm Newton
############# start loading cycle ##################
set t 0;
while {$t != $dS} {
integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU $dU
set ok [analyze 1]
incr t 1;
if {$ok != 0} {
# if {$t == $dS} {break};
puts "Displacement control failed ..... trying Arc-Length control"
set currentDisp [nodeDisp $nodeTag $dofTag]
puts "Current Displacement is $currentDisp"
# algorithm Linear
test NormDispIncr 1e-6 $numTimes $displayTag
#algorithm ModifiedNewton
# integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU0 $dU0
# integrator DisplacementControl $nodeTag $dofTag 0.0 10 $dU0 $dU0
integrator ArcLength [expr $dU0] 1.0
# set ok [analyze 1]
analyze 1
}
# puts "that worked ..... back to regular Newton "
test NormDispIncr 1e-8 $numTimes $displayTag
# algorithm Newton
}
################## end of loading cycle, start unloading cycle ########
set t 0;
while {$t != [expr 2*$dS]} {
integrator DisplacementControl $nodeTag $dofTag 0.0 1 [expr -$dU] [expr -$dU]
set ok [analyze 1]
incr t 1;
if {$ok != 0} {
# if {$t == [expr 2*$dS]} {break};
puts "Displacement control failed ..... trying Arc-Length control"
set currentDisp [nodeDisp $nodeTag $dofTag]
puts "Current Displacement is $currentDisp"
# algorithm Linear
test NormDispIncr 1e-6 $numTimes $displayTag
#algorithm ModifiedNewton
# integrator DisplacementControl $nodeTag $dofTag 0.0 1 [expr -$dU0] [expr -$dU0]
# integrator DisplacementControl $nodeTag $dofTag 0.0 10 [expr -$dU0] [expr -$dU0]
integrator ArcLength [expr $dU0] 1.0
# set ok [analyze 1]
analyze 1
}
# puts "that worked .... back to regular Newton "
test NormDispIncr 1e-8 $numTimes $displayTag
# algorithm Newton
}
############# end of unloading cycle, start reloading cycle ###########
set t 0;
while {$t != $dS} {
integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU $dU
set ok [analyze 1]
incr t 1;
if {$ok != 0} {
# if {$t == $dS} {break};
puts "Displacement control failed ..... trying Arc-Length control"
set currentDisp [nodeDisp $nodeTag $dofTag]
puts "Current Displacement is $currentDisp"
# algorithm Linear
test NormDispIncr 1e-6 $numTimes $displayTag
#algorithm ModifiedNewton
# integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU0 $dU0
# integrator DisplacementControl $nodeTag $dofTag 0.0 10 $dU0 $dU0
integrator ArcLength [expr $dU0] 1.0
# set ok [analyze 1]
analyze 1
}
# puts "that worked .... back to regular Newton "
test NormDispIncr 1e-8 $numTimes $displayTag
# algorithm Newton
}
######## reloading cycle completed #############################
if {$ok == 0} {
puts "analysis succesful at $y mm displacement";
} else {
puts "analysis could not proceed fine beyond $y mm displacement";
}
}
}
-------------------------------------
vesna
Posts: 3033
Joined: Tue May 23, 2006 11:23 am
Location: UC Berkeley

Re: pinching4 material misfunctioning

Post by vesna »

If you post your script I can go over and try to find a reason for convergence problem you have.
UMUT AKIN
Posts: 18
Joined: Tue Oct 19, 2010 4:19 am
Location: Middle East Tech. University

Re: pinching4 material misfunctioning

Post by UMUT AKIN »

I am sending you the main file and source files used in the analysis.
I think it will be hard to read, I can send you the tcl files, and the resulting graphs, if possible.

Thank you very much for your kind interest.


------ MAIN FILE -----------------------------------------------------------------------
#----------------------------------------#
# 2D-2beams+2columns-kunnath connection; #
#----------------------------------------#
wipe
# CREATE MODEL BUILDER, DEFINE 2D/3D
model BasicBuilder -ndm 2 -ndf 3
# DEFINE SOURCE FILES
source procRC.tcl
# pinching values taken from ELWOOD article
source pinchK.tcl
# input values
source input.tcl
# (+) rotational spring procedure #
source procrotSpring2D.tcl
# DEFINE FILE NAME
set fName "$fname";
# DEFINE NODES
# define core sections considered in node definition
set JointWidth [expr $colY];
set JointHeight [expr $bmY];
# nodes
node 1 0.0 0.0
node 2 0.0 [expr $ColumnLengthClear]
node 3 0.0 [expr $ColumnLengthClear]
node 4 0.0 [expr $ColumnLengthClear+$JointHeight]
node 5 0.0 [expr $ColumnLengthClear+$JointHeight]
node 6 0.0 [expr 2*$ColumnLengthClear+$JointHeight]
node 7 [expr -$BeamLengthClear-$JointWidth/2] [expr $ColumnLengthClear+$JointHeight/2]
node 8 [expr -$JointWidth/2] [expr $ColumnLengthClear+$JointHeight/2]
node 9 [expr -$JointWidth/2] [expr $ColumnLengthClear+$JointHeight/2]
node 10 [expr $JointWidth/2] [expr $ColumnLengthClear+$JointHeight/2]
node 11 [expr $JointWidth/2] [expr $ColumnLengthClear+$JointHeight/2]
node 12 [expr $BeamLengthClear+$JointWidth/2] [expr $ColumnLengthClear+$JointHeight/2]
node 13 0.0 [expr $ColumnLengthClear+$JointHeight/2]
node 14 0.0 [expr $ColumnLengthClear+$JointHeight/2]
# DEFINE BOUNDARY CONDITIONS
fix 1 1 1 0
fix 2 0 0 0
fix 3 0 0 0
fix 4 0 0 0
fix 5 0 0 0
fix 6 0 0 0
fix 7 0 1 0
fix 8 0 0 0
fix 9 0 0 0
fix 10 0 0 0
fix 11 0 0 0
fix 12 0 1 0
fix 13 0 0 0
fix 14 0 0 0
# DEFINE RINCHING MATERIAL MOMENT POINTS
# define joint moment points
puts "hbeam = $hbeam"
puts "djoint = $djoint"
set Mj1 [expr $Vj1*$djoint]
set Mj2 [expr $Vj2*$djoint]
set Mj3 [expr $Vj3*$djoint]
set Mj4 [expr $Vj4*$djoint]
# DEFINE SHEAR PANEL PINCHING MATERIAL
uniaxialMaterial Pinching4 5 $Mj1 $s1 [expr $Mj2] $s2 [expr $Mj3] $s3 [expr $Mj4] [expr $s4] [expr -$Mj1] $ns1 [expr -$Mj2] $ns2 [expr -$Mj3] $ns3 [expr -$Mj4] $ns4 $rD0 $rF0 $uF0 $rD1 $rF1 $uF1 $gK0 $gK1 $gK2 $gK3 $gK4 $gD0 $gD1 $gD2 $gD3 $gD4 $gF0 $gF1 $gF2 $gF3 $gF4 $gEsp energy
# DEFINE COLUMN & BEAM HINGES
# (1) define general properties
# pinching values for Hysteretic Material (not necessary if pinching4 is used)
set pinchX 1.0
set pinchY 1.0
set damage1 0.0
set damage2 0.0
# (2) DEFINE COLUMN HINGE MATERIAL [100]
set cmom1 $cmom1
set cmom2 $cmom2
set cmom3 $cmom3
set cmom4 $cmom3
set crot1 $crot1
set crot2 $crot2
set crot3 $crot3
set crot4 [expr $crot3*1.5]
set ncmom1 $ncmom1
set ncmom2 $ncmom2
set ncmom3 $ncmom3
set ncmom4 $ncmom3
set ncrot1 $ncrot1
set ncrot2 $ncrot2
set ncrot3 $ncrot3
set ncrot4 [expr $ncrot3*1.5]
uniaxialMaterial Pinching4 100 $cmom1 $crot1 $cmom2 $crot2 $cmom3 $crot3 $cmom4 $crot4 $ncmom1 $ncrot1 $ncmom2 $ncrot2 $ncmom3 $ncrot3 $ncmom4 $ncrot4 $rD0 $rF0 $uF0 $rD1 $rF1 $uF1 $gK0 $gK1 $gK2 $gK3 $gK4 $gD0 $gD1 $gD2 $gD3 $gD4 $gF0 $gF1 $gF2 $gF3 $gF4 $gEsp energy
#uniaxialMaterial Hysteretic 100 $cmom1 $crot1 $cmom2 $crot2 $cmom3 $crot3 $ncmom1 $ncrot1 $ncmom2 $ncrot2 $ncmom3 $ncrot3 $pinchX $pinchY $damage1 $damage2
# (2) DEFINE BEAM HINGE MATERIAL [200]
set bmom1 $bmom1
set bmom2 $bmom2
set bmom3 $bmom3
set bmom4 [expr $bmom3]
set brot1 $brot1
set brot2 $brot2
set brot3 $brot3
set brot4 [expr $brot3*1.5]
set nbmom1 $nbmom1
set nbmom2 $nbmom2
set nbmom3 $nbmom3
set nbmom4 [expr $nbmom3]
set nbrot1 $nbrot1
set nbrot2 $nbrot2
set nbrot3 $nbrot3
set nbrot4 [expr $nbrot3*1.5]
uniaxialMaterial Pinching4 200 $bmom1 $brot1 $bmom2 $brot2 $bmom3 $brot3 $bmom4 $brot4 $nbmom1 $nbrot1 $nbmom2 $nbrot2 $nbmom3 $nbrot3 $nbmom4 $nbrot4 $rD0 $rF0 $uF0 $rD1 $rF1 $uF1 $gK0 $gK1 $gK2 $gK3 $gK4 $gD0 $gD1 $gD2 $gD3 $gD4 $gF0 $gF1 $gF2 $gF3 $gF4 $gEsp energy
#uniaxialMaterial Hysteretic 200 $bmom1 $brot1 $bmom2 $brot2 $bmom3 $brot3 $nbmom1 $nbrot1 $nbmom2 $nbrot2 $nbmom3 $nbrot3 $pinchX $pinchY $damage1 $damage2
# DEFINE GEOMETRIC TRANSFORMATION
geomTransf Linear 1
geomTransf Linear 2
# LOCATE BEAMS AND COLUMNS BETWEEN NODES
#set colI [expr $colI0*$colACI]
#set beamI [expr $beamI0*$beamACI]
set colI [expr $colI0*$colELW]
set beamI [expr $beamI0*$beamELW]
# colELW,beamELW = reduction factor for I, based on ELWOOD article
# colACI,beamACI = reduction factor for I, based on ACI Standards
element elasticBeamColumn 1 1 2 $colarea $Ecolumn $colI 2 #col
element elasticBeamColumn 2 5 6 $colarea $Ecolumn $colI 2 #col
element elasticBeamColumn 3 7 8 $beamarea $Ebeam $beamI 1 #beam
element elasticBeamColumn 4 11 12 $beamarea $Ebeam $beamI 1 #beam
set Erigid 1000000000
element elasticBeamColumn 5 3 13 $colarea $Erigid $colI 2 #col
element elasticBeamColumn 6 13 4 $colarea $Erigid $colI 2 #col
element elasticBeamColumn 7 9 14 $beamarea $Erigid $beamI 1 #beam
element elasticBeamColumn 8 14 10 $beamarea $Erigid $beamI 1 #beam
# DEFINE & LOCATE ROTATIONAL 2D SPRING
# (1) joint spring
rotSpring2D 13 13 14 5
# (2) column hinge springs
rotSpring2D 9 2 3 100
rotSpring2D 10 4 5 100
# (3) beam hinge springs
rotSpring2D 11 8 9 200
rotSpring2D 12 10 11 200
# DEFINE LOADS
# 1-constant loads
pattern Plain 2 Linear {
load 6 0 [expr -$axld] 0 -const
}
# DEFINE SOLVER SYSTEM (should be defined prior to cyclic loading definition)
system ProfileSPD
constraints Plain
integrator LoadControl 0 1 0 0
test NormDispIncr 1e-8 150
algorithm Newton
numberer RCM
analysis Static
analyze 1
loadConst -time 0.0
# 2-unit load for cyclic loading procedure
pattern Plain 1 Linear {
load 6 1 0 0
}
recorder Node -file $fName+PD.txt -load -node 6 -dof 1 disp
recorder Element -file $fName+botcolmoment.txt -ele 9 force
recorder Element -file $fName+botcolrota.txt -ele 9 deformation
recorder Element -file $fName+upcolmoment.txt -ele 10 force
recorder Element -file $fName+upcolrota.txt -ele 10 deformation
recorder Element -file $fName+beam1moment.txt -ele 11 force
recorder Element -file $fName+beam1rota.txt -ele 11 deformation
recorder Element -file $fName+beam2moment.txt -ele 12 force
recorder Element -file $fName+beam2rota.txt -ele 12 deformation
recorder Element -file $fName+JOINTmoment.txt -ele 13 force
recorder Element -file $fName+JOINTrota.txt -ele 13 deformation
# CYCLIC LOADING PROCEDURE INPUTS
set peakpts [list $cyc0 $cyc1 $cyc2 $cyc3 $cyc4 $cyc5 $cyc6 $cyc7 $cyc8 $cyc9 $cyc10 $cyc11 $cyc12 $cyc13 $cyc14 $cyc15 $cyc16 $cyc17 $cyc18 $cyc19 $cyc20 $cyc21 $cyc22 $cyc23 $cyc24 $cyc25 $cyc26 $cyc27 $cyc28 $cyc29 $cyc30 $cyc31 $cyc32 $cyc33 $cyc34 $cyc35 $cyc36 $cyc37 $cyc38 $cyc39 $cyc40]
set increment 100
set nodeTag 6
set dofTag 1
procRC $increment $nodeTag $dofTag $peakpts
# DISPLAY NODE FINAL CONDITIONS
print node
# DISPLAY ELEMENT FINAL CONDITIONS
print element
------ END OF MAIN FILE --------------------------------------------------------------------
------ SOURCE Cyclic Loading File -------- (procRC.tcl)
#############################################################################################
###########
#
# procRC.tcl
## procedure for setting up a reversed cycle loading scheme. The input are mainly the
## peak points for the loading.
## The procedure primarily uses Displacement control for loading, if it fails uses ArcLength control
## created : NM (nmitra@u.washington.edu) dated: Sep 2002
#############################################################################################
###########
proc procRC { incre nodeTag dofTag peakpts } {
set displayTag 0;
set numTimes 150;
set x [lindex $peakpts 0];
set dU [expr $x/$incre];
#set dU0 [expr $dU/1000];
set dU0 [expr $dU/1000];
integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU $dU
analysis Static
analyze $incre
integrator DisplacementControl $nodeTag $dofTag 0.0 1 [expr -$dU] [expr -$dU]
analyze [expr 2*$incre]
integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU $dU
analyze $incre
## end the first peak pt start for others
for {set j 1} {$j < [llength $peakpts]} {incr j 1} {
set y [lindex $peakpts $j]
set dSt [expr $y/$dU]
set dS [expr int($dSt)]
test NormDispIncr 1e-8 $numTimes $displayTag
algorithm Newton
############# start loading cycle ##################
set t 0;
while {$t != $dS} {
integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU $dU
set ok [analyze 1]
incr t 1;
if {$ok != 0} {
# if {$t == $dS} {break};
puts "Displacement control failed ..... trying Arc-Length control"
set currentDisp [nodeDisp $nodeTag $dofTag]
puts "Current Displacement is $currentDisp"
# algorithm Linear
test NormDispIncr 1e-6 $numTimes $displayTag
#algorithm ModifiedNewton
# integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU0 $dU0
# integrator DisplacementControl $nodeTag $dofTag 0.0 10 $dU0 $dU0
integrator ArcLength [expr $dU0] 1.0
# set ok [analyze 1]
analyze 1
}
# puts "that worked ..... back to regular Newton "
test NormDispIncr 1e-8 $numTimes $displayTag
# algorithm Newton
}
################## end of loading cycle, start unloading cycle ########
set t 0;
while {$t != [expr 2*$dS]} {
integrator DisplacementControl $nodeTag $dofTag 0.0 1 [expr -$dU] [expr -$dU]
set ok [analyze 1]
incr t 1;
if {$ok != 0} {
# if {$t == [expr 2*$dS]} {break};
puts "Displacement control failed ..... trying Arc-Length control"
set currentDisp [nodeDisp $nodeTag $dofTag]
puts "Current Displacement is $currentDisp"
# algorithm Linear
test NormDispIncr 1e-6 $numTimes $displayTag
#algorithm ModifiedNewton
# integrator DisplacementControl $nodeTag $dofTag 0.0 1 [expr -$dU0] [expr -$dU0]
# integrator DisplacementControl $nodeTag $dofTag 0.0 10 [expr -$dU0] [expr -$dU0]
integrator ArcLength [expr $dU0] 1.0
# set ok [analyze 1]
analyze 1
}
# puts "that worked .... back to regular Newton "
test NormDispIncr 1e-8 $numTimes $displayTag
# algorithm Newton
}
############# end of unloading cycle, start reloading cycle ###########
set t 0;
while {$t != $dS} {
integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU $dU
set ok [analyze 1]
incr t 1;
if {$ok != 0} {
# if {$t == $dS} {break};
puts "Displacement control failed ..... trying Arc-Length control"
set currentDisp [nodeDisp $nodeTag $dofTag]
puts "Current Displacement is $currentDisp"
# algorithm Linear
test NormDispIncr 1e-6 $numTimes $displayTag
#algorithm ModifiedNewton
# integrator DisplacementControl $nodeTag $dofTag 0.0 1 $dU0 $dU0
# integrator DisplacementControl $nodeTag $dofTag 0.0 10 $dU0 $dU0
integrator ArcLength [expr $dU0] 1.0
# set ok [analyze 1]
analyze 1
}
# puts "that worked .... back to regular Newton "
test NormDispIncr 1e-8 $numTimes $displayTag
# algorithm Newton
}
######## reloading cycle completed #############################
if {$ok == 0} {
puts "analysis succesful at $y mm displacement";
} else {
puts "analysis could not proceed fine beyond $y mm displacement";
}
}
}
--------- END OF CYCLIC LOADING File --------------------------------------------------------------------------------------------------------------
------ SOURCE : PINCHING FILE (pinchK.tcl)--------------------------------------------------------------------------------------------------------------
### Ratio of maximum deformation at which reloading begins
# rDisplacement
set rD0 0.15
set rD1 0.15
### Ratio of envelope force (corresponding to maximum deformation) at which reloading begins
# rForce
set rF0 0.15
set rF1 0.15
### Ratio of monotonic strength developed upon unloading
# uForce
set uF0 0.10
set uF1 0.10
### Stiffness Damage Coefficients
# gammaK1 gammaK2 gammaK3 gammaK4 gammaKLimit
set gK0 0.0
set gK1 0.0
set gK2 0.0
set gK3 0.0
set gK4 0.0
#### Displacement Damage Coefficients
# gammaD1 gammaD2 gammaD3 gammaD4 gammaDLimit
set gD0 0.0
set gD1 0.0
set gD2 0.0
set gD3 0.0
set gD4 0.0
#### Strength Damage Coefficients
# gammaF1 gammaF2 gammaF3 gammaF4 gammaFLimit
set gF0 0.0
set gF1 0.0
set gF2 0.0
set gF3 0.0
set gF4 0.0

set gEsp 10.0
------ END OF PINCHING FILE --------------------------------------------------------------------------------------------------------------------------
------ SOURCE : 2-D ROTATIONAL SPRING FILE (procrotSpring2D.tcl) --------------------------------------------------------------------------------------
# rotSpring2D.tcl
# SETS A MULTIPOINT CONSTRAINT ON THE TRANSLATIONAL DEGREES OF FREEDOM,
# SO DO NOT USE THIS PROCEDURE IF THERE ARE TRANSLATIONAL ZEROLENGTH
# ELEMENTS ALSO BEING USED BETWEEN THESE TWO NODES
#
# Written: MHS
# Date: Jan 2000
#
# Formal arguments
# eleID - unique element ID for this zero length rotational spring
# nodeR - node ID which will be retained by the multi-point constraint
# nodeC - node ID which will be constrained by the multi-point constraint
# matID - material ID which represents the moment-rotation relationship
# for the spring
proc rotSpring2D {eleID nodeR nodeC matID} {
# Create the zero length element
element zeroLength $eleID $nodeR $nodeC -mat $matID -dir 6
# Constrain the translational DOF with a multi-point constraint
# retained constrained DOF_1 DOF_2 ... DOF_n
equalDOF $nodeR $nodeC 1 2
}
-------------------- END OF ROTATIONAL SPRING FILE --------------------
------ SOURCE : INPUT FILE (input.tcl) --------------------------
set fname Burak1 ;
set colY 355.60 ;
set colZ 355.60 ;
set bmY 381.00 ;
set bmZ 203.20 ;
set BeamLengthClear 2272.20 ;
set ColumnLengthClear 1109.50 ;
set s1 0.0009 ;
set s2 0.0041 ;
set s3 0.0105 ;
set s4 0.0163 ;
set ns1 -0.0009 ;
set ns2 -0.0041 ;
set ns3 -0.0105 ;
set ns4 -0.0163 ;
set axld 195721.75 ;
set cyc0 13.00 ;
set cyc1 13.00 ;
set cyc2 13.00 ;
set cyc3 13.00 ;
set cyc4 13.00 ;
set cyc5 26.00 ;
set cyc6 26.00 ;
set cyc7 26.00 ;
set cyc8 26.00 ;
set cyc9 39.00 ;
set cyc10 39.00 ;
set cyc11 39.00 ;
set cyc12 39.00 ;
set cyc13 52.00 ;
set cyc14 52.00 ;
set cyc15 52.00 ;
set cyc16 52.00 ;
set cyc17 13.00 ;
set cyc18 13.00 ;
set cyc19 65.00 ;
set cyc20 65.00 ;
set cyc21 65.00 ;
set cyc22 65.00 ;
set cyc23 78.00 ;
set cyc24 78.00 ;
set cyc25 78.00 ;
set cyc26 78.00 ;
set cyc27 13.00 ;
set cyc28 13.00 ;
set cyc29 104.00 ;
set cyc30 104.00 ;
set cyc31 104.00 ;
set cyc32 104.00 ;
set cyc33 13.00 ;
set cyc34 13.00 ;
set cyc35 130.00 ;
set cyc36 130.00 ;
set cyc37 130.00 ;
set cyc38 130.00 ;
set cyc39 13.00 ;
set cyc40 13.00 ;
set cyc41 0.00 ;
set cyc42 0.00 ;
set cyc43 0.00 ;
set cyc44 0.00 ;
set cyc45 0.00 ;
set bj 256.54 ;
set hj 310.60 ;
set sheardepth 381.00 ;
set beamarea 54019.20 ;
set beamI0 1783150670.10 ;
set beamACI 0.35 ;
set beamELW 0.30 ;
set colarea 96472.36 ;
set colI0 1332495537.15 ;
set colACI 0.70 ;
set colELW 0.30 ;
set Vj1 502585.89 ;
set Vj2 694091.86 ;
set Vj3 700947.64 ;
set Vj4 555585.31 ;
set hbeam 381.00 ;
set djoint 340.19 ;
set Ecolumn 30819.96 ;
set Ebeam 25310.27 ;
set cmom1 150000000.00 ;
set cmom2 180000000.00 ;
set cmom3 180000000.00 ;
set ccurv1 0.000010 ;
set ccurv2 0.000035 ;
set ccurv3 0.000072 ;
set crot1 0.001778 ;
set crot2 0.006223 ;
set crot3 0.012802 ;
set bmom1 75000000.00 ;
set bmom2 105000000.00 ;
set bmom3 105000000.00 ;
set bcurv1 0.000008 ;
set bcurv2 0.000088 ;
set bcurv3 0.000157 ;
set brot1 0.001429 ;
set brot2 0.016764 ;
set brot3 0.029909 ;
set ncmom1 -150000000.00 ;
set ncmom2 -180000000.00 ;
set ncmom3 -180000000.00 ;
set nccurv1 -0.000010 ;
set nccurv2 -0.000035 ;
set nccurv3 -0.000072 ;
set ncrot1 -0.001778 ;
set ncrot2 -0.006223 ;
set ncrot3 -0.012802 ;
set nbmom1 -100000000.00 ;
set nbmom2 -120000000.00 ;
set nbmom3 -120000000.00 ;
set nbcurv1 -0.000009 ;
set nbcurv2 -0.000050 ;
set nbcurv3 -0.000143 ;
set nbrot1 -0.001715 ;
set nbrot2 -0.009525 ;
set nbrot3 -0.027242 ;
---- END OF INPUT FILE ---------
Post Reply