Seismo-VLAB  1.3
An Open-Source Finite Element Software for Meso-Scale Simulations

Background

The HDRBYamamoto2DLink class creates a bi-axial high-damping rubber bearing element with two-nodes in two-dimensions. The number of degree-of-freedom depend on the node. Currently node with 2 (two translation) and 3 (two translation and one rotation) dofs are supported. The main purpose of this element in 2D is to force a uni-axial behavior along the orthogonal direction to local axis 1. Figure provides a simple representation of this element where (1) and (2) represent the start and end nodes.

HDRBYamamoto2DLink.png

The linkHDRBYamamoto2DLink mass matrix in global coordinates is \(\textbf{M}^\textrm{e} = 0\). On the other hand, the HDRBYamamoto2DLink solves the differential equation:

\[ \dot{\textbf{q}} = \frac{\dot{\textbf{p}}}{\alpha} \left( \hat{\dot{\textbf{p}}} - \|\textbf{q}\|^n \, \bar{\textbf{q}} \right) \,, \]

and the force is computed as

\[F(\textbf{p},\textbf{q}) = -\hat{\textbf{p}} \, F_r - \textbf{q} \, F_s\,, \]

where \(F_r = \tau_r\,A\), \(F_s = \tau_s\,A\), \(A\) is the rubber area, and

\[ \tau_r = \begin{cases} 0.22\,\gamma,& 0\leq \gamma \leq 1.8 \\ 0.22\,\gamma + 0.20(\gamma-1.8)^2, & \gamma > 1.8 \end{cases} \]

\[ \tau_s = 0.25 + 0.02\,\gamma + 0.016\,\gamma^3\,. \]

Note that the coefficients provided in previous equation are such that units in \(\tau_r\) and \(\tau_s\) are [MPa]. The local to global transformation matrix is

\[ \textbf{T}_\textrm{e} = \begin{bmatrix} \hat{\textbf{N}} & 0 \\ 0 & \hat{\textbf{N}} \end{bmatrix} \,. \]

The stiffness matrices as well as the force vector in global coordinates are defined as:

\[ \textbf{K}^\textrm{e} = \textbf{T}_\textrm{e}^\top \, \mathcal{K}^\textrm{e} \, \textbf{T}_\textrm{e} \,, \; \textbf{F}^\textrm{e} = \textbf{T}_\textrm{e}^\top \, \mathcal{F}^\textrm{e} \,, \]

and \(\hat{\textbf{N}} = [\hat{\textrm{n}}_1, \hat{\textrm{n}}_2, \hat{\textrm{n}}_3]^\top\) is the unit matrix of local coordinate axes, and \(\hat{\textrm{n}}_\textrm{i}\) is the unit vector of the i-th local coordinate axis. Note that \(\hat{\textbf{N}} \in \mathbb{R}^{3 \times 3}\), and \(\hat{\textrm{n}}_\textrm{i} \in \mathbb{R}^3\). Note that \(\textbf{M}^\textrm{e}, \textbf{K}^\textrm{e} \in \mathbb{R}^{\textrm{N}_\textrm{dof}^\textrm{e} \times \textrm{N}_\textrm{dof}^\textrm{e}}\) with \(\textrm{N}_\textrm{dof}^\textrm{e} = 4, \text{ or } 6\) (solid or structural).

REFERENCE:

  • Yamamoto, Minewaki, Yoneda, and Higashino (2012), "Nonlinear behavior of high-damping rubber bearings under horizontal bidirectional loading: full-scale tests and analytical modeling". Earthquake Engng Struct. Dyn

Pre-Analysis

The python Pre-Analysis in the 01-Pre_Process/Method/Attach.py file provides with an interface to populate the Entities dictionary. This file contains several functions to populate specific fields. For example, to create a HDRBYamamoto2DLink, using json format, use:

  • addElement(tag, name='HDRBYamamoto2DLink', conn, attributes):

    • tag : The identifier of this element, i.e., tag > -1
    • name : Seismo-VLAB element class name
    • conn : Connectivity array of this element
    • attributes : Specific properties for the created element, for example
      • 'De' External rubber diameter.
      • 'Di' Internal rubber diameter.
      • 'Hr' Rubber bearing height.

    Example

    A HDRBYAMAMOTO2DLINK element can be defined using the python interface as follows:
    SVL.addElement(tag=1, name='HDRBYamamoto2DLink', conn=[1,2], attributes={'De': 1.3,'Di': 0.3,'Hr': 0.216})

    Application
    Please refer to the A12-DY_2D_UniAxial_YamamotoHDRB_Link.py file located at 03-Validations/01-Debugging/ to see an example on how to define a HDRBYamamoto2DLink element.

On the contrary, the 01-Pre_Process/Method/Remove.py file provides with an interface to depopulate the Entities dictionary. For example, to remove an already define Element, use:

  • delElement(tag):
    • tag : The identifier of the element to be removed, i.e., tag > -1

Run-Analysis

The C++ Run-Analysis in the 02-Run_Process/04-Elements/02-Link/HDRBYamamoto2DLink.cpp file provides the class implementation. A HDRBYamamoto2DLink element is created using the built-in json parse-structure provided in the Driver.hpp. A HDRBYamamoto2DLink is defined inside the "Elements" json field indicating its "Tag" as follows,

  • {
       "Elements": {
            "Tag": {
                "name" : "HDRBYAMAMOTO2DLINK",
                "conn" : [ ],
                "attributes": {
                    "De": double,
                    "Di": double,
                    "Hr": double,
                    "dim": int
                }
            }
        }
    }
    
    Variable Description
    Tag Unique positive element identifier.
    conn The element connectivity node array.
    De External diameter of rubber.
    Di Internal diameter of rubber.
    Hr Total rubber height.
    dim The number of degree of freedom of the nodes (2, or 3).

    Attention
    The element acts only in one direction (perpendicular to local axis 1).
    The element provides no-contribution to the mass matrix.
    The element only provides contribution to the stiffness matrix.
    The length of the link is not used.
    The units uses the international system (IS).
    The out-of-plane component is ignored.
    Strain and Stress link responses are relative deformation and non-linear force and in local coordinates respectively.
    Internal force responses are provided in global coordinates.
    Example

    A uniaxial HDRBYAMAMOTO2DLINK between nodes 1 and 2 with 2 dofs in a 2D problem is constructed as:
    { "Elements": { "1": { "name" : "HDRBYAMAMOTO2DLINK", "conn" : [1,2], "attributes": { "De": 1.3, "Di": 0.3, "Hr": 0.216, "dim": 2 } } } }