Previous Topic

Next Topic

PR1.tcl

############################################################################

# Test example for BEAM COLUMN ELEMENT JOINT ------- PARK RUITONG TEST SPECIMEN Unit 1

# Written: N.Mitra

# Description: 4 noded 12 dof element having 12 springs and a shear panel

# Date: Feb 16 2003

## Model consisting of a crucifix with beams and columns and a joint

## File Name: PR1.tcl

# refer to Beam-Column-Joint Element.doc for full explanation of the parameters

################################################################################

#create the ModelBuilder object

model BasicBuilder -ndm 2 -ndf 3

## unit name ---- PR1

set fName "PR1";

source procMKPC.tcl

source procUniaxialPinching.tcl

source procRC.tcl

# all dimensions are in here as MPa (conversion factors are required in certain places)

set Strfactor 145; set Lenfactor [expr 1/25.4];

## Y taken as the inplane dim. against which the bending takes place

set colY 406; set colZ 305;

set bmY 457; set bmZ 229;

# covers

set colCov 43; set bmCov1 42; set bmCov2 33; set bmCov $bmCov1;

# y,z,x dimension of the joint respectively

set JointWidth [expr $colY]; set JointHeight [expr $bmY]; set JointDepth $colZ ;

set BeamLengthIn 645; set BeamLengthOut 1271; set ColumnLengthClear 1008;

set JointVolume [expr $JointWidth*$JointHeight*$JointDepth];

############################################################

################# material properties of column section ############################################################

set CUnconfFc -45.9; set CUnconfEc -0.002;

set CTSspace 60; set CTSlength 1853.53; set CTSFy 282; set CTSarea 28.3;

set CFy 498.0; set CEs 196600.0; set CsHratio 0.004216; set CAs 201.06;

procMKPC $CUnconfFc $CUnconfEc $colY $colZ $colCov $CTSspace $CTSlength $CTSFy $CTSarea $Strfactor $Lenfactor

set CUnconfFcu [lindex $concreteProp 2]; set CUnconfEcu [lindex $concreteProp 3];

set CConfFc [lindex $concreteProp 4]; set CConfEc [lindex $concreteProp 5];

set CConfFcu [lindex $concreteProp 6]; set CConfEcu [lindex $concreteProp 7];

#########################################################

########################### material properties of beam section #####################################################

set BUnconfFc -45.9; set BUnconfEc -0.002;

set BTSspace 80; set BTSlength 1036; set BTSFy 282; set BTSarea 28.3;

set BFy 294.0; set BEs 210400.0; set BAs 201.06; set BsHratio 0.002322;

procMKPC $BUnconfFc $BUnconfEc $bmY $bmZ $bmCov $BTSspace $BTSlength $BTSFy $BTSarea $Strfactor $Lenfactor

set BUnconfFcu [lindex $concreteProp 2]; set BUnconfEcu [lindex $concreteProp 3];

set BConfFc [lindex $concreteProp 4]; set BConfEc [lindex $concreteProp 5];

set BConfFcu [lindex $concreteProp 6]; set BConfEcu [lindex $concreteProp 7];

####################################################################

######################### details for the material models of bar slip of the beam ####################################

set bs_fc [expr -$BUnconfFc]; set bs_fs $BFy; set bs_es $BEs; set bs_fsu 434; set bs_dbar 16; set bs_esh [expr $BsHratio*$BEs];

set bs_wid $colZ; set bs_dep $bmY;

set bsT_nbars 5; set bsB_nbars 2;

set bs_ljoint $colY;

################################################################################

########################## details for the material models of bar slip of the column ##################################

set cs_fc [expr -$CUnconfFc]; set cs_fs $CFy; set cs_es $CEs; set cs_fsu 660; set cs_dbar 16; set cs_esh [expr $CsHratio*$CEs];

set cs_wid $colZ; set cs_dep $colY;

set cs_nbars 3;

set cs_ljoint $bmY;

#####################################################################

############### add nodes - command: node nodeId xCrd yCrd #######################################################

node 1 0.0 0.0

node 2 0.0 $ColumnLengthClear

node 3 [expr -$BeamLengthOut-$BeamLengthIn-$JointWidth/2] [expr $ColumnLengthClear+$JointHeight/2]

node 4 [expr -$BeamLengthIn-$JointWidth/2] [expr $ColumnLengthClear+$JointHeight/2]

node 5 [expr -$JointWidth/2] [expr $ColumnLengthClear+$JointHeight/2]

node 6 [expr $JointWidth/2] [expr $ColumnLengthClear+$JointHeight/2]

node 7 [expr $BeamLengthIn+$JointWidth/2] [expr $ColumnLengthClear+$JointHeight/2]

node 8 [expr $BeamLengthOut+$BeamLengthIn+$JointWidth/2] [expr $ColumnLengthClear+$JointHeight/2]

node 9 0.0 [expr $ColumnLengthClear+$JointHeight]

node 10 0.0 [expr 2*$ColumnLengthClear+$JointHeight]

# add material Properties - command: uniaxialMaterial matType matTag ...

#command: uniaxialMaterial Elastic tag? E?

uniaxialMaterial Elastic 1 10000000000.0

#####################################################################

############## inelastic beam column elements

##########################################################

uniaxialMaterial Concrete01 10 $BUnconfFc $BUnconfEc $BUnconfFcu $BUnconfEcu

uniaxialMaterial Concrete01 20 $BConfFc $BConfEc $BConfFcu $BConfEcu

uniaxialMaterial Steel02 30 $BFy $BEs $BsHratio 18.5 0.925 0.15 0.0 0.4 0.0 0.5

uniaxialMaterial Concrete01 40 $CUnconfFc $CUnconfEc $CUnconfFcu $CUnconfEcu

uniaxialMaterial Concrete01 50 $CConfFc $CConfEc $CConfFcu $CConfEcu

uniaxialMaterial Steel02 60 $CFy $CEs $CsHratio 18.5 0.925 0.15 0.0 0.4 0.0 0.5

########### for columns ///////////////////////////////////////////////////////////////////////

set z [expr $colZ/2.0]; set y [expr $colY/2.0];

section Fiber 1 {

patch rect 50 8 1 [expr $colCov-$y] [expr $colCov-$z] [expr $y-$colCov] [expr $z-$colCov]

patch rect 40 2 1 [expr -$y] [expr $colCov-$z] [expr $colCov-$y] [expr $z-$colCov]

patch rect 40 2 1 [expr $y-$colCov] [expr $colCov-$z] [expr $y] [expr $z-$colCov]

patch rect 40 8 1 [expr -$y] [expr -$z] [expr $y] [expr $colCov-$z]

patch rect 40 8 1 [expr -$y] [expr $z-$colCov] [expr $y] [expr $z]

layer straight 60 3 $CAs [expr $y-$colCov] [expr $colCov-$z] [expr $y-$colCov] [expr $z-$colCov]

layer straight 60 2 $CAs 0.0 [expr $colCov-$z] 0.0 [expr $z-$colCov]

layer straight 60 3 $CAs [expr $colCov-$y] [expr $colCov-$z] [expr $colCov-$y] [expr $z-$colCov]

}

#################### for beams ///////////////////////////////////////////////////////////////////

set z [expr $bmZ/2.0]; set y [expr $bmY/2.0];

section Fiber 2 {

patch rect 20 8 1 [expr $bmCov1-$y] [expr $bmCov1-$z] [expr $y-$bmCov1] [expr $z-$bmCov1]

patch rect 10 2 1 [expr -$y] [expr $bmCov1-$z] [expr $bmCov1-$y] [expr $z-$bmCov1]

patch rect 10 2 1 [expr $y-$bmCov1] [expr $bmCov1-$z] [expr $y] [expr $z-$bmCov1]

patch rect 10 8 1 [expr -$y] [expr -$z] [expr $y] [expr $bmCov1-$z]

patch rect 10 8 1 [expr -$y] [expr $z-$bmCov1] [expr $y] [expr $z]

layer straight 30 3 $BAs [expr $y-$bmCov1] [expr $bmCov1-$z] [expr $y-$bmCov1] [expr $z - $bmCov1]

layer straight 30 2 $BAs [expr $y-$bmCov1-$bmCov2] [expr $bmCov1-$z] [expr $y-$bmCov1-$bmCov2] [expr $z - $bmCov1]

layer straight 30 2 $BAs [expr $bmCov1-$y] [expr $bmCov1-$z] [expr $bmCov1-$y] [expr $z - $bmCov1]

}

##############/////////////////////////////////////////////////////////////////////////////////////

## add geometric transformation -command: geomTransf transfType ...

## geomTransf Linear tag?

geomTransf Linear 1

geomTransf Linear 2

element nonlinearBeamColumn 1 1 2 5 1 2

element nonlinearBeamColumn 2 9 10 5 1 2

element nonlinearBeamColumn 3 3 4 3 2 1

element nonlinearBeamColumn 4 4 5 2 2 1

element nonlinearBeamColumn 5 6 7 2 2 1

element nonlinearBeamColumn 6 7 8 3 2 1

##### end element formation as well as material defination for beams and columns ######################

##########################################################################################

# for beam bottom

set matID1 21

set matID2 22

uniaxialMaterial BarSlip $matID1 $bs_fc $bs_fs $bs_es $bs_fsu $bs_esh $bs_dbar $bs_ljoint $bsB_nbars $bs_wid $bs_dep strong beamBot

uniaxialMaterial BarSlip $matID2 $bs_fc $bs_fs $bs_es $bs_fsu $bs_esh $bs_dbar $bs_ljoint $bsB_nbars $bs_wid $bs_dep strong beamBot

## %%%%%%%%%%%%%%% equivalent statement can be made in other way

#uniaxialMaterial BarSlip $matID1 $bs_fc $bs_fs $bs_es $bs_fsu $bs_esh $bs_dbar $bs_ljoint $bsB_nbars $bs_wid $bs_dep 1.0 strong beamBot damage

#uniaxialMaterial BarSlip $matID2 $bs_fc $bs_fs $bs_es $bs_fsu $bs_esh $bs_dbar $bs_ljoint $bsB_nbars $bs_wid $bs_dep 1.0 strong beamBot damage

# for beam top

set matID3 31

set matID4 32

uniaxialMaterial BarSlip $matID3 $bs_fc $bs_fs $bs_es $bs_fsu $bs_esh $bs_dbar $bs_ljoint $bsT_nbars $bs_wid $bs_dep strong beamTop

uniaxialMaterial BarSlip $matID4 $bs_fc $bs_fs $bs_es $bs_fsu $bs_esh $bs_dbar $bs_ljoint $bsT_nbars $bs_wid $bs_dep strong beamTop

## %%%%%%%%%%%%%%% equivalent statement can be made in other way

#uniaxialMaterial BarSlip $matID3 $bs_fc $bs_fs $bs_es $bs_fsu $bs_esh $bs_dbar $bs_ljoint $bsT_nbars $bs_wid $bs_dep 1.0 strong beamTop damage

#uniaxialMaterial BarSlip $matID4 $bs_fc $bs_fs $bs_es $bs_fsu $bs_esh $bs_dbar $bs_ljoint $bsT_nbars $bs_wid $bs_dep 1.0 strong beamTop damage

# for columns

set matID5 41

set matID6 42

set matID7 43

set matID8 44

uniaxialMaterial BarSlip $matID5 $cs_fc $cs_fs $cs_es $cs_fsu $cs_esh $cs_dbar $cs_ljoint $cs_nbars $cs_wid $cs_dep strong column

uniaxialMaterial BarSlip $matID6 $cs_fc $cs_fs $cs_es $cs_fsu $cs_esh $cs_dbar $cs_ljoint $cs_nbars $cs_wid $cs_dep strong column

uniaxialMaterial BarSlip $matID7 $cs_fc $cs_fs $cs_es $cs_fsu $cs_esh $cs_dbar $cs_ljoint $cs_nbars $cs_wid $cs_dep strong column

uniaxialMaterial BarSlip $matID8 $cs_fc $cs_fs $cs_es $cs_fsu $cs_esh $cs_dbar $cs_ljoint $cs_nbars $cs_wid $cs_dep strong column

## %%%%%%%%%%%%%%% equivalent statement can be made in other way

#uniaxialMaterial BarSlip $matID5 $cs_fc $cs_fs $cs_es $cs_fsu $cs_esh $cs_dbar $cs_ljoint $cs_nbars $cs_wid $cs_dep 1.0 strong column damage

#uniaxialMaterial BarSlip $matID6 $cs_fc $cs_fs $cs_es $cs_fsu $cs_esh $cs_dbar $cs_ljoint $cs_nbars $cs_wid $cs_dep 1.0 strong column damage

#uniaxialMaterial BarSlip $matID7 $cs_fc $cs_fs $cs_es $cs_fsu $cs_esh $cs_dbar $cs_ljoint $cs_nbars $cs_wid $cs_dep 1.0 strong column damage

#uniaxialMaterial BarSlip $matID8 $cs_fc $cs_fs $cs_es $cs_fsu $cs_esh $cs_dbar $cs_ljoint $cs_nbars $cs_wid $cs_dep 1.0 strong column damage

#################### end material formation for bar slip ########################################################

############################ material for shear panel #############################################################

## Positive/Negative envelope Stress

set p1 2.1932; set p2 4.0872; set p3 4.4862; set p4 [expr $p3*1e-3];

## stress1 stress2 stress3 stress4

set pEnvStrsp [list [expr $p1*$JointVolume] [expr $p2*$JointVolume] [expr $p3*$JointVolume] [expr $p4*$JointVolume]]

set nEnvStrsp [list [expr -$p1*$JointVolume] [expr -$p2*$JointVolume] [expr -$p3*$JointVolume] [expr -$p4*$JointVolume]]

## Positive/Negative envelope Strain

## strain1 strain2 strain3 strain4

set pEnvStnsp [list 0.0002 0.004465 0.0131 0.0269]

set nEnvStnsp [list -0.0002 -0.004465 -0.0131 -0.0269]

## Ratio of maximum deformation at which reloading begins

## Pos_env. Neg_env.

set rDispsp [list 0.25 0.25]

## Ratio of envelope force (corresponding to maximum deformation) at which reloading begins

### Pos_env. Neg_env.

set rForcesp [list 0.15 0.15]

## Ratio of monotonic strength developed upon unloading

### Pos_env. Neg_env.

set uForcesp [list 0.0 0.0]

## Coefficients for Unloading Stiffness degradation

## gammaK1 gammaK2 gammaK3 gammaK4 gammaKLimit

set gammaKsp [list 1.13364492409642 0.0 0.10111033064469 0.0 0.91652498468618]

#set gammaKsp [list 0.0 0.0 0.0 0.0 0.0]

#### Coefficients for Reloading Stiffness degradation

### gammaD1 gammaD2 gammaD3 gammaD4 gammaDLimit

set gammaDsp [list 0.12 0.0 0.23 0.0 0.95]

#set gammaDsp [list 0.0 0.0 0.0 0.0 0.0]

#### Coefficients for Strength degradation

### gammaF1 gammaF2 gammaF3 gammaF4 gammaFLimit

set gammaFsp [list 1.11 0.0 0.319 0.0 0.125]

#set gammaFsp [list 0.0 0.0 0.0 0.0 0.0]

set gammaEsp 10.0

uniaxialMaterial Pinching4 5 [lindex $pEnvStrsp 0] [lindex $pEnvStnsp 0] \

[lindex $pEnvStrsp 1] [lindex $pEnvStnsp 1] [lindex $pEnvStrsp 2] \

[lindex $pEnvStnsp 2] [lindex $pEnvStrsp 3] [lindex $pEnvStnsp 3] \

[lindex $nEnvStrsp 0] [lindex $nEnvStnsp 0] \

[lindex $nEnvStrsp 1] [lindex $nEnvStnsp 1] [lindex $nEnvStrsp 2] \

[lindex $nEnvStnsp 2] [lindex $nEnvStrsp 3] [lindex $nEnvStnsp 3] \

[lindex $rDispsp 0] [lindex $rForcesp 0] [lindex $uForcesp 0] \

[lindex $rDispsp 1] [lindex $rForcesp 1] [lindex $uForcesp 1] \

[lindex $gammaKsp 0] [lindex $gammaKsp 1] [lindex $gammaKsp 2] [lindex $gammaKsp 3] [lindex $gammaKsp 4] \

[lindex $gammaDsp 0] [lindex $gammaDsp 1] [lindex $gammaDsp 2] [lindex $gammaDsp 3] [lindex $gammaDsp 4] \

[lindex $gammaFsp 0] [lindex $gammaFsp 1] [lindex $gammaFsp 2] [lindex $gammaFsp 3] [lindex $gammaFsp 4] \

$gammaEsp energy

#################### end material formation for shear panel ###########################################

##element BeamColumnJoint tag? iNode? jNode? kNode? lNode? matTag1? matTag2? matTag3? matTag4?

## matTag5? matTag6? matTag7? matTag8? matTag9? matTag10? matTag11? matTag12? matTag13?

## <element Height factor?> <element Width factor?>

## please note: the four nodes are in anticlockwise direction around the element

## requires material tags for all 13 different components within the element.

## the first 12 being that of spring and the last of the shear panel

element beamColumnJoint 7 2 6 9 5 41 42 1 21 31 1 43 44 1 22 32 1 5

#element beamColumnJoint 7 2 6 9 5 1 1 1 1 1 1 1 1 1 1 1 1 1

## %%%%%%%%%%%%%%% equivalent statement can be made in other way

#element beamColumnJoint 7 2 6 9 5 41 42 1 21 31 1 43 44 1 22 32 1 5 1.0 1.0

#element beamColumnJoint 7 2 6 9 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1.0 1.0

# set the boundary conditions - command: fix nodeID xResrnt? yRestrnt?

fix 1 1 1 0

fix 2 0 0 0

fix 3 0 1 0

fix 4 0 0 0

fix 5 0 0 0

fix 6 0 0 0

fix 7 0 0 0

fix 8 0 1 0

fix 9 0 0 0

fix 10 0 0 0

pattern Plain 2 Linear {

load 4 0 -55000 0 -const

load 7 0 -55000 0 -const

}

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

pattern Plain 1 Linear {

#load nd? Fx? Fy? Mz?

load 10 1 0 0

}

set rbbt "_RBbt"; set rbtp "_RBtp"; set dlcbr "_DLCbr"; set sp "_Sp"; set jdf "_Jdf";

set lbbt "_LBbt"; set lbtp "_LBtp"; set drcbr "_DRCbr"; set ulcbr "_ULCbr"; set urcbr "_URCbr";

set RBbt [concat $fName$rbbt]; set RBtp [concat $fName$rbtp]; set Sp [concat $fName$sp];

set LBbt [concat $fName$lbbt]; set LBtp [concat $fName$lbtp]; set DLCbr [concat $fName$dlcbr];

set DRCbr [concat $fName$drcbr]; set URCbr [concat $fName$urcbr]; set ULCbr [concat $fName$ulcbr];

set Jdf [concat $fName$jdf];

recorder Node $fName.out disp -load -node 10 -dof 1

recorder Element 7 -file $RBbt.out node2BarSlipB stressStrain

recorder Element 7 -file $RBtp.out node2BarSlipT stressStrain

recorder Element 7 -file $LBbt.out node4BarSlipB stressStrain

recorder Element 7 -file $LBtp.out node4BarSlipT stressStrain

recorder Element 7 -file $DLCbr.out node1BarSlipL stressStrain

recorder Element 7 -file $DRCbr.out node1BarSlipR stressStrain

recorder Element 7 -file $ULCbr.out node3BarSlipL stressStrain

recorder Element 7 -file $URCbr.out node3BarSlipR stressStrain

recorder Element 7 -file $Sp.out shearpanel stressStrain

recorder Element 7 -file $Jdf.out deformation

set peakpts [list 0.1 10 10 30 30 45 45 60 60 75 75 90 90 105 105]

set increment 10

set nodeTag 10

set dofTag 1

procRC $increment $nodeTag $dofTag $peakpts

# print the results at node and at all elements

print node

#print element