Create reinforced concrete eccentric beam-column joint models

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

Moderators: silvia, selimgunay, Moderators

Post Reply
songhaobo
Posts: 2
Joined: Mon Feb 28, 2022 7:37 pm

Create reinforced concrete eccentric beam-column joint models

Post by songhaobo » Wed Apr 13, 2022 2:06 am

Hello everyone,
There is a model about beam-column joint,but I don't know how to Create reinforced concrete eccentric beam-column joint models. I don't find relevant or helpful commands in the User Command-Language Manual and Official website (If exists, please tell me where they are ).The complete codes are depicted as follows. (almost same as PR1.tcl) Do I need to add some subroutines or smething ?
Thanks for answering!

# Create the ModelBuilder object
model BasicBuilder -ndm 2 -ndf 3

if { [file exists output] ==0 } {
file mkdir output;
}
# unit name---JM-1
set fName JM-1;

source procMKPC.tcl
source procUniaxialPinching.tcl
source procRC.tcl
# all dimensions are in here as MPa (conversion factors are required in certain places)
# Y taken as the inplane dim. against which the bending takes place
set Strfactor 145; set Lenfactor [expr 1/25.4];

# Dimensions of column and beam
set colY 250; set colZ 250;
set bmY 300; set bmZ 125;

# Dimensions of joint
set JointWidth [expr $colY]; set JointHeight [expr $bmY]; set JointDepth [expr $colZ];
set JointVolume [expr $JointWidth*$JointHeight*$JointDepth];

# Define geometric transformation
geomTransf Linear 1
geomTransf Linear 2

# Length of column and beam
set BeamLengthClear 905; set ColumnLengthClear 550;

# Concrete covers
set colCov 20; set bmCov1 20; set bmCov2 20; set bmCov $bmCov1;


# material properties of column section #
set CUnconfFc -26.6; set CUnconfEc -0.002;
set CTSspace 60; set CTSlength 1033; set CTSFy 244.7; set CTSarea 28.27;
set CFy 235.0; set CEs 200000.0; set CAs 153.94; set CsHratio 0.001;
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 -26.6; set BUnconfEc -0.002;
set BTSspace 60; set BTSlength 883; set BTSFy 244.7; set BTSarea 28.27;
set BFy 235.0; set BEs 200000.0; set BAs 113.10; set BsHratio 0.001;
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];


# Define material for bar slip component #
# 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 542; set bs_dbar 12; set bs_esh [expr $BsHratio*$BEs];
set bs_wid $colZ; set bs_dep $bmY;
set bsT_nbars 3; set bsB_nbars 3;
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 485; set cs_dbar 14; set cs_esh [expr $CsHratio*$CEs];
set cs_wid $colZ; set cs_dep $colY;
set cs_nbars 2;
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 -$BeamLengthClear-$JointWidth/2] [expr $ColumnLengthClear+$JointHeight/2]
node 4 [expr -$JointWidth/2] [expr $ColumnLengthClear+$JointHeight/2]
node 5 [expr $JointWidth/2] [expr $ColumnLengthClear+$JointHeight/2]
node 6 [expr $BeamLengthClear+$JointWidth/2] [expr $ColumnLengthClear+$JointHeight/2]
node 7 0.0 [expr $ColumnLengthClear+$JointHeight]
node 8 0.0 [expr 2*$ColumnLengthClear+$JointHeight]

# Define material for interface shear component #
# add material Properties - command: uniaxialMaterial matType matTag ...
#command: uniaxialMaterial Elastic tag? E?
uniaxialMaterial Elastic 1 10000000000.0

# inelastic beam column elements

# Cover concrete for beam
uniaxialMaterial Concrete01 10 $BUnconfFc $BUnconfEc $BUnconfFcu $BUnconfEcu

# Core concrete for beam
uniaxialMaterial Concrete01 20 $BConfFc $BConfEc $BConfFcu $BConfEcu

# Steel model for beam
uniaxialMaterial Steel02 30 $BFy $BEs $BsHratio 18.5 0.925 0.15 0.0 0.4 0.0 0.5

# Cover concrete for column
uniaxialMaterial Concrete01 40 $CUnconfFc $CUnconfEc $CUnconfFcu $CUnconfEcu

# Core concrete for column
uniaxialMaterial Concrete01 50 $CConfFc $CConfEc $CConfFcu $CConfEcu

# Steel model for column
uniaxialMaterial Steel02 60 $CFy $CEs $CsHratio 18.5 0.925 0.15 0.0 0.4 0.0 0.5

# Fiber section of column
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 $colCov-$y] [expr $colCov-$z] [expr $colCov-$y] [expr $z-$colCov]
layer straight 60 3 $CAs [expr $y-$colCov] [expr $colCov-$z] [expr $y-$colCov] [expr $z-$colCov]
}


# Fiber section of beam
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 2 $BAs [expr $y-$bmCov1] [expr $bmCov1-$z] [expr $y-$bmCov1] [expr $z-$bmCov1]
layer straight 30 2 $BAs [expr $bmCov1-$y] [expr $bmCov1-$z] [expr $bmCov1-$y] [expr $z-$bmCov1]
}

# Define nonlinear beam column elements #

element nonlinearBeamColumn 1 1 2 5 1 2
element nonlinearBeamColumn 2 7 8 5 1 2
element nonlinearBeamColumn 3 3 4 5 2 1
element nonlinearBeamColumn 4 5 6 5 2 1


# 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

# 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


# 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




# Define material for shear panel component #
# Positive/Negative envelope Stress
set p1 1.59; set p2 4.4; set p3 6.56; set p4 0.00656;
# 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.00014 0.00261 0.00483 0.00966]
set nEnvStnsp [list -0.00014 -0.00261 -0.00483 -0.00966]

# 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.1 0.1]


#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]

# Coefficients for Reloading Stiffness degradation
# gammaD1 gammaD2 gammaD3 gammaD4 gammaDLimit
set gammaDsp [list 0.12 0.0 0.23 0.0 0.95]

# Coefficients for Strength degradation
#gamma F1 gammaF2 gammaF3 gammaF4 gammaFLimit
set gammaFsp [list 1.11 0.0 0.319 0.0 0.125]

# Coefficients for defining maximum energy dissipation under cyclic loading
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

# Define joint element #
# 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 5 2 5 7 4 41 42 1 21 31 1 43 44 1 22 32 1 5

# 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 1 1 0
fix 7 0 0 0
fix 8 1 0 0

recorder Node -file output/disp.txt -time -node 4 -dof 1 disp;
recorder Node -file output/reaction.txt -time -node 4 -dof 4 reaction;

# Define load #
pattern Plain 1 Linear {
load 8 0 -100000 0;
}
system ProfileSPD
constraints Transformation
integrator LoadControl 0.1
test NormDispIncr 1.0e-8 6 2
algorithm Newton
numberer Plain
analysis Static
analyze 10

songhaobo
Posts: 2
Joined: Mon Feb 28, 2022 7:37 pm

Re: Create reinforced concrete eccentric beam-column joint models

Post by songhaobo » Wed Apr 13, 2022 2:38 am

For example, eccentricity of the beam is defined 40 mm

Post Reply