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

Background

The HDRBYamamoto3DLink class creates a bi-axial high-damping rubber bearing element with two-nodes in three-dimensions. The number of degree-of-freedom depend on the node. Currently node with 3 (three translation) and 6 (three translation and three rotation) dofs are supported. The main purpose of this element in 3D is to force a bi-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.

HDRBYamamoto3DLink.png

The linkHDRBYamamoto3DLink mass matrix in global coordinates is \(\textbf{M}^\textrm{e} = 0\). On the other hand, the linkHDRBYamamoto3DLink 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} \textbf{N} & 0 \\ 0 & \textbf{N} \end{bmatrix} \,, \; \text{ with } \textbf{N} = \begin{bmatrix} \hat{\textbf{N}} & 0 \\ 0 & \hat{\textbf{N}} \end{bmatrix} \,, \]

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} = 12\) in this case.

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} = 6, \text{ or } 12\) (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 HDRBYamamoto3DLink, using json format, use:

  • addElement(tag, name='HDRBYamamoto3DLink', 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 HDRBYAMAMOTO3DLINK element can be defined using the python interface as follows:
    SVL.addElement(tag=1, name='HDRBYamamoto3DLink', conn=[1,2], attributes={'De': 1.3,'Di': 0.3,'Hr': 0.216})

    Application
    Please refer to the A13-DY_3D_UniAxial_YamamotoHDRB_Link.py file located at 03-Validations/01-Debugging/ to see an example on how to define a HDRBYamamoto3DLink 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/HDRBYamamoto3DLink.cpp file provides the class implementation. A HDRBYamamoto3DLink element is created using the built-in json parse-structure provided in the Driver.hpp. A HDRBYamamoto3DLink is defined inside the "Elements" json field indicating its "Tag" as follows,

  • {
        "Elements": {
            "Tag": {
                "name" : "HDRBYAMAMOTO3DLINK",
                "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 two 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).
    Internal force responses are provided in global coordinates.
    Strain and Stress link responses are relative deformation and non-linear force and in local coordinates respectively.
    Example

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