3.1.9.21. TripleFrictionPendulumX Element

This command is used to construct the TripleFrictionPendulumX element [KimConstantinou2022] [KimConstantinou2023] object, which is an extension of the TripleFrictionPendulum element [DaoEtAl2013] capable of accounting for heating effects on the frictional behavior of triple friction pendulum isolators. The horizontal behavior of the element is achieved by the series model, which consists of properly combined hysteretic/frictional and multidirectional gap elements.

Three main modifications in the TripleFrictionPendulumX element include: 1) computation of the displacement and velocity histories at each of the four sliding interfaces of the isolator, 2) computation of the temperature history at each sliding interface, and 3) accounting for the dependency of the coefficient of friction on the instantaneous temperature at each sliding interface. The factorized friction model used in OpenSees element FPBearingPTV [KumarEtAl2015] is used to account for the effects of pressure, velocity, and temperature on the friction coefficients at each sliding surfaces, with the latter effect expanded to include more possible friction-temperature laws. In OpenSees element FPBearingPTV, the friction coefficient is given by equations (1) to (4) in which \(\mu_{ref}\) is the reference high speed coefficient of friction at the initial time \(t = 0\), initial temperature \(T_{0} = 20℃\) and initial pressure \(p_{0}\), \(a\) is velocity rate parameter \((= 100sec/m)\), \(p\) is the apparent pressure, and \(v\) is the amplitude of the velocity.

\[ \begin{align}\begin{aligned}\mu(p,v,T)=\mu_{ref} k_{p} k_{v} k_{T}       (1)\\k_{p}=(0.7)^{0.02(p-p_{0})}       (2)\\k_{v}=(1-0.5e^{-av})       (3)\\k_{T}=0.79((0.7)^{0.02T}+0.40)       (4)\end{aligned}\end{align} \]

In the TripleFrictionPendulumX element, the temperature-dependency of the friction coefficient was expanded beyond the single case described by equation (4). Specifically, two additional cases were added, described by equations (5) and (6). Figure 1 depicts the coefficient \(k_T\) as function of temperature for the three cases. In the three cases, the value of coefficient \(k_T\) drops from the unity at the normal temperature to 1/3, 1/2 or 2/3 at approximately the temperature of \(200℃\).

\[ \begin{align}\begin{aligned}k_{T}=0.84((0.7)^{0.0085T}+0.25)      (5)\\k_{T}=0.97((0.7)^{0.029T}+0.22)      (6)\end{aligned}\end{align} \]
../../../../_images/FIGURE1.jpg

Fig. 3.1.9.23 Figure 1. Friction Coefficient-Temperature Relationships in TripleFrictionPendulumX element

For more information about the element formulation, please refer to the references at the end of this page.

../../../../_images/FIGURE2.jpg

Fig. 3.1.9.24 Figure 2. Geometry of Triple FP bearing in accordance with OpenSees Commands

Command

element TripleFrictionPendulumX $eleTag $iNode $jNode $Tag $vertMatTag $rotZMatTag $rotXMatTag $rotYMatTag $kpFactor $kTFactor $kvFactor $Mu1 $Mu2 $Mu3 $L1 $L2 $L3 $d1_star $d2_star $d3_star $b1 $b2 $b3 $W $uy $kvt $minFv $Tol $refPressure1 $refPressure2 $refPressure3 $Diffusivity $Conductivity $Temperature0 $rateParameter $kTmodels $unit

Argument

Type

Description

$eleTag

integer

Unique element object tag.

$iNode $jNode

integer integer

End nodes.

$Tag

integer

\(1\): for Approach 1 (suitable for all types of analysis)

\(0\): for Approach 2 (1D displacement control analysis only)

$vertMatTag

float

Pre-defined material tag for compression behavior of the bearing.

$rotZMatTag $rotXMatTag $rotYMatTag

integer integer integer

Pre-defined material tags for rotational behavior about 3-axis, 1-axis and 2-axis, respectively.

$kpFactor

integer

\(1\): if the coefficient of friction is a function of instantaneous axial pressure.

\(k_{p}=0.7^{0.02(p-p_{0})}\)

$kTFactor

integer

\(1\): if the coefficient of friction is a function of instantaneous temperature at the sliding surface.

$kvFactor

integer

\(1\): if the coefficient of friction is a function of instantaneous velocity at the sliding surface.

\(k_{v}=(1-0.5e^{-av})\)

$Mu1 $Mu2 $Mu3

float float float

Reference friction coefficients, \(\mu_i\)

$L1 $L2 $L3

float float float

Effective radii, \(L_i = R_i – h_i\)

$d1_star $d2_star $d3_star

float float float

Actual displacement capacity of sliding interfaces. \(d_i^* = L_i/R_i·d_i\), \(d_i\) = Nominal displacement capacity of each sliding interface.

Displacement limit of the bearing is \(u_{limit} = 2d_1^* + d_2^* + d_3^* + b_2^*/2\), where \(b_2\) is a diameter of rigid slider.

$b1 $b2 $b3

float float float

Diameters of the rigid slider and the two inner slide plates

$W

float

Axial force used for the first trial of the first analysis step.

$uy

float

Lateral displacement where sliding of the bearing starts.

Recommended value = \(0.025\) to \(1 mm\). Smaller values may cause convergence problem or may slow the program execution.

$kvt

float

Tension stiffness \(k_{vt}\) of the bearing. Use a small, non-zero value to avoid numerical problems.

$minFv (≥ 0)

float

Minimum vertical compression force in the bearing used for computing the horizontal tangent stiffness matrix from the normalized tangent stiffness matrix of the element.

$Tol

float

Relative tolerance for checking the convergence of the element.

Recommended value = \(10^{-10}\) to \(10^{-3}\)

$refPressure1 $refPressure2 $refPressure3

float float float

Reference axial pressures (the bearing pressure under static loads)

$Diffusivity

float

Thermal diffusivity of steel (unit: \(m^2/sec\)).

(\(= 0.444*10^{-5}\) for stainless steel)

$Conductivity

float

Thermal conductivity of steel (unit: \(W/m℃\)).

(\(= 18\) for stainless steel)

$Temperature0

float

Initial temperature (\(℃\)).

Use \(20℃\) as model of friction-temperature is based on \(20℃\).

$rateparameter

float

Parameter in relationship of coefficient of friction and sliding velocity.

(unit: \(sec/m\), \(100sec/m\) is used normally)

$kTmodel

integer

Temperature-dependent friction models (3)

\(1\): \(k_{T}=0.79(0.7^{0.02T}+0.40)\) (\(k_{T} = 1/2\) at \(200℃\))

\(2\): \(k_{T}=0.97(0.7^{0.029T}+0.22)\) (\(k_{T} = 1/3\) at \(200℃\))

\(3\): \(k_{T}=0.84(0.7^{0.0085T}+0.25)\) (\(k_{T} = 2/3\) at \(200℃\))

$unit

integer

Tag to identify the unit from the list below.

\(1\): \(N, m, sec, ℃\)

\(2\): \(kN, m, sec, ℃\)

\(3\): \(N, mm, sec, ℃\)

\(4\): \(kN, mm, sec, ℃\)

\(5\): \(lb, in, sec, ℃\)

\(6\): \(kip, in, sec, ℃\)

\(7\): \(lb, ft, sec, ℃\)

\(8\): \(kip, ft, sec, ℃\)

Recorders

Typical Element Recorders

Typical recorders for two-node element are available in the TripleFrictionPendulumX element.

Recorder

Description

globalForce

global forces

localForce

local forces

basicForce

basic forces

basicDisplacement

basic displacements

TripleFrictionPendulumX Element Recorders

Subscript “i” of the response quantities in the following recorders refer to the numbering of the sliding interfaces, starting from bottom to top sliding interfaces.

Recorder

Description

compDisplacement

Displacements (\(u_i\)) and velocities (\(v_i\)) at each sliding surface in the x and y directions \((u_{2x}+u_{3x})/2\), \(u_{1x},u_{4x}\), \((u_{2y}+u_{3y})/2\), \(u_{1y}\), \(u_{4y}\), \((v_{2x}+v_{3x})/2\), \(v_{1x}\), \(v_{4x}\), \((v_{2y}+v_{3y})/2\), \(v_{1y}\), \(v_{4y}\) in accordance with Approach 1 (See Section 3 in [KimConstantinou2022].

Example: recorder Element<-file $fileName> -time<-ele ($ele1 $ele2…)>compDisplacement

Parameters

Temperatures (\(T_{2,3}\), \(T_1\), \(T_4\)), coefficients of friction (\(\mu_{2,3}\), \(\mu_1\), \(\mu_4\)), heat fluxes (\(HeatFlux_{2,3}\), \(HeatFlux_{1}\), \(HeatFlux_4\)), pressure dependency factors (\(k_{p2,3}\), \(k_{p1}\), \(k_{p4}\)), temperature dependency factors (\(k_{T2,3}\), \(k_{T1}\), \(k_{T4}\)), and velocity dependency factors (\(k_{v2,3}\), \(k_{v1}\), \(k_{v4}\)).

Example: recorder Element<-file $fileName> -time<-ele ($ele1 $ele2…)>Parameters

Example

The following code constructs Example 3 in [KimConstantinou2023].

  1. Tcl Code

#############################################################################
#-------Department of Civil, Structural and Environmental Engineering-------#
#---------------------------University at Buffalo---------------------------#
# Modeling of Triple FP isolator                                            #
# Written By: Hyun-myung Kim (hkim59@buffalo.edu)                           #
# Date: May, 2023                                                           #
#############################################################################

# Units: N, m, sec
# Remove existing model
wipe

# EXAMPLE 3 (Kim and Constantinou, 2023 https://doi.org/10.1002/eqe.3797)
#----------------------------------------------------------------------------
# User Defined Parameters
#----------------------------------------------------------------------------

# TFP Geomoetry of Configuration A
set L1 0.3937;                    # Effective radii (m)
set L2 3.7465;
set L3 3.7465;
set d1 0.0716;                    # Actual displacement capacity (m)
set d2 0.5043;
set d3 0.5043;
set b1 [expr 0.508];              # Diameter of the rigid slider and the two inner slide plate (m)
set b2 [expr 0.711];
set b3 [expr 0.711];
set r1 [expr $b1/2];              # Radius of of the rigid slider and the two inner slide plate (m)
set r2 [expr $b2/2];
set r3 [expr $b3/2];

set uy 0.001;                     # Yield displacement (m)
set kvc 8000000000.;              # Vertical compression stiffness (N/m)
set kvt 1.;                       # Vertical tension stiffness (N/m)
set minFv 0.1;                    # Minimum compression force in the bearing (N)

set g     9.81;                   # Gravity acceleration (m/s^2)
set P     13345e+03;              # Load on top of TFP
set Mass [expr $P/$g];            # Mass on top of TFP
set tol 1.e-5;                    # Relative tolerance for checking convergence

# Heat parameters
set Diffu 0.444e-5;               # Thermal diffusivity (m^2/sec)
set Conduct 18;                   # Thermal conductivity (W/m*Celsius)
set Temperature0 20;              # Initial temperature (Celsius)

# Friction coefficients (reference)
set mu1 0.01;
set mu2 0.04;
set mu3 0.08;

# Reference Pressure
set Pref1 [expr $P/($r1*$r1*3.141592)];
set Pref2 [expr $P/($r2*$r2*3.141592)];
set Pref3 [expr $P/($r3*$r3*3.141592)];

#----------------------------------------------------------------------------
# Start of model generation
#----------------------------------------------------------------------------

#Create Model Builder
model basic -ndm 3 -ndf 6

# Create nodes
node 1 0 0 0; # End i
node 2 0 0 0; # End j

# Define single point constraints
fix 1     1 1 1 1 1 1;

# Define friction models
set tagTemp 1;
set tagVel 0;
set tagPres 0;
set velRate 100;
set kTmodel 1;                     # kT = 1/2 at 200 degree celsius

#----------------------------------------------------------------------------
# Bring material models and define element
#----------------------------------------------------------------------------

# Creating material for compression and rotation behaviors
uniaxialMaterial Elastic 1 $kvc;
uniaxialMaterial Elastic 2 10.;

set tagT 1;

# Define TripleFrictionPendulumX element
# element TripleFrictionPendulumX $eleTag $iNode $jNode $tagT $vertMatTag $rotZMatTag $rotXMatTag $rotYMatTag $tagPres $tagTemp $tagVel $mu1 $mu2 $mu3 $L1 $L2 $L3 $d1 $d2 $d3 $b1 $b2 $b3 $W $uy $kvt $minFv $tol $Pref1 $Pref2 $Pref3 $Diffu $Conduct $Temperature0 $velRate $kTmodel $unit
element TripleFrictionPendulumX 1 1 2  $tagT  1 2 2 2 $tagPres $tagTemp $tagVel $mu1 $mu2 $mu3 $L1 $L2 $L3 $d1 $d2 $d3 $b1 $b2 $b3 $P $uy $kvt $minFv $tol $Pref1 $Pref2 $Pref3 $Diffu $Conduct $Temperature0 $velRate $kTmodel 1;

#----------------------------------------------------------------------------
# Apply gravity load
#----------------------------------------------------------------------------

#Create a plain load pattern with linear timeseries
pattern Plain 1 "Linear" {

        load 2 0. 0. -[expr $P] 0.0 0.0 0.0
}

#----------------------------------------------------------------------------
# Start of analysis generation (Gravity)
#----------------------------------------------------------------------------

system BandSPD
constraints Transformation
numberer RCM
test NormDispIncr 1.0e-15 10 3
algorithm Newton
integrator LoadControl 1
analysis Static

#----------------------------------------------------------------------------
# Analysis (Gravity)
#----------------------------------------------------------------------------

analyze 1
puts "Gravity analysis completed SUCCESSFULLY";

#----------------------------------------------------------------------------
# Start of analysis generation
# (Sinusoidal; Two cycles of 5s period and 508mm amplitude)
#----------------------------------------------------------------------------

loadConst -time 0.0

# analysis time step
set dt [expr 0.008]

# excitation time step
set dt1 [expr 0.001]

timeSeries Trig 11 $dt 10 5 -factor 0.508 -shift 0

pattern MultiSupport 2 {
groundMotion 1 Plain -disp 11
# Node, direction, GMtag
imposedMotion 2 2 1
}

#----------------------------------------------------------------------------
# Start of recorder generation (Sinusoidal)
#----------------------------------------------------------------------------

# Set up recorder
set OutDir                EXAMPLE3;                       # Output folder
set OutFile1      TEMPERATURE.txt;
set OutFile2      DISP.txt;
set OutFile3      FORCE.txt;
set OutFile4      COMPDISP.txt;

file mkdir $OutDir;
recorder Element -file $OutDir/$OutFile1 -time -ele 1 Parameters;
recorder Node -file $OutDir/$OutFile2 -time -nodes 2 -dof 1 2 3 disp;
recorder Element -file $OutDir/$OutFile3 -time -ele 1 basicForce;
recorder Element -file $OutDir/$OutFile4 -time -ele 1 compDisplacement;

#----------------------------------------------------------------------------
# Analysis (Sinusoidal)
#----------------------------------------------------------------------------

system SparseGeneral
constraints Transformation
test NormDispIncr 1.0e-5 20 0
algorithm Newton
numberer Plain
integrator Newmark 0.5 0.25
analysis Transient

# set some variables
set tFinal [expr 10]
set tCurrent [getTime]
set ok 0

# Perform the transient analysis
while {$ok == 0 && $tCurrent < $tFinal} {

    set ok [analyze 1 $dt]

# if the analysis fails try initial tangent iteration
  if {$ok != 0} {
  puts "regular newton failed .. lets try an initail stiffness for this step"
  test NormDispIncr 1.0e-12  100 0
  algorithm ModifiedNewton -initial
  set ok [analyze 1 $dt]
  if {$ok == 0} {puts "that worked .. back to regular newton"}
  test NormDispIncr 1.0e-12  10
  algorithm Newton
  }

    set tCurrent [getTime]
}

# Print a message to indicate if analysis succesfull or not
if {$ok == 0} {
   puts "Transient analysis completed SUCCESSFULLY";
} else {
   puts "Transient analysis completed FAILED";
}
../../../../_images/FIGURE3.jpg

Fig. 3.1.9.25 Figure 3. Force-displacement loop in Example 3

../../../../_images/FIGURE4.jpg

Fig. 3.1.9.26 Figure 4. Displacement histories at sliding surfaces in Example 3

../../../../_images/FIGURE5.jpg

Fig. 3.1.9.27 Figure 5. Temperature histories at sliding surfaces in Example 3

Reference

DaoEtAl2013

Dao, N. D., Ryan, K. L., Sato, E. and Sasaki, T. (2013). “Predicting the displacement of triple pendulum bearings in a full-scale shaking experiment using a three-dimensional element”, Earthquake engineering and structural dynamics, 42(11), 1677-1695. https://doi.org/10.1002/eqe.2293.

KimConstantinou2022(1,2)

“Modeling triple friction pendulum bearings in program OpenSees including frictional heating effects”, Report No. MCEER-22-0001, Multidisciplinary Center for Earthquake Engineering Research, Buffalo, NY.

KimConstantinou2023(1,2)

“Modeling frictional heating effects in triple friction pendulum isolators”, Earthquake Engineering & Structural Dynamics, 52(4), 979–997. https://doi.org/10.1002/eqe.3797.

KumarEtAl2015

“Characterizing friction in sliding isolation bearings”, Earthquake Engineering & Structural Dynamics, 44(9), 1409-1425. https://doi.org/10.1002/eqe.2524.

Code Developed by: Hyun-myung Kim and Michael C. Constantinou, University at Buffalo

For bug reporting, please contact: Hyun-myung Kim (hkim59@buffalo.edu)