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

Background

The TIEQlin2DQuad4 class creates a time independent linearized two-dimensional linear equivalent quadrilateral element with four-nodes. Each node has two degrees-of-freedom, and each degree-of-freedom represents a translation in the X-, and Y-directions. The Figure provides a simple representation of this element in which the local coordinates are represented by the r-, and s-axis, and (1), (2), (3) and (4) represent the nodes of the element respectively. The element mass, damping and stiffness matrices, as well as internal force vector are computed in local-coordinate and then transformed into global coordinates. Numerical integration is performed to compute matrices and vectors.

lin2DQuad4.png

This element can be used for modeling equivalent linear soil behavior in two-dimensional problems. For that, one needs to define element damping and stiffness matrices at each iteration using the shear modulus reduction and damping curves. Two type element is defined. DARENDELI uses Darendeli's equations to define the shear modulus reduction and damping curves. On the other hand, SMALLSTRAIN uses Gmax and Darendeli's small strain damping. Also, to use this element, one needs to define the effective shear strain in the element eref, two corner frequencies cf1 and cf2 for defining Rayleigh damping, and the depth zref at which the element is located.

REFERENCE:

  • Darendeli, M. B. (2001). "Development of a new family of normalized modulus reduction and material damping curves." The university of Texas at Austin.

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 TIEQlin2DQuad4, using json format, use:

  • addElement(tag, name='lin2DQuad4', 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
      • 'cf1' is the lower corner frequencies for damping.
      • 'cf2' is the upper corner frequencies for damping.
      • 'zref' is a reference elevation to compute GGmax and damping.
      • 'eref' is the reference shear strain metric to read G/Gmax and damping curves.
      • 'th' is the thickness of a quad element.
      • 'material' is material identifier.
      • 'rule' the integration rule: 'Gauss', 'Lobatto'.
      • 'type' is the type of modulus reduction and damping curve: 'DARENDELI', 'SMALLSTRAIN'.
      • 'np' Number of quadrature-points used for the integration.

    Example

    A TIEQLIN2DQUAD4 element can be defined using the python interface as follows:
    SVL.addElement(tag=1, name='TIEQlin2DQuad4', conn=[1,2,3,4], attributes={'cf1': 0.1, 'cf2': 10.0, 'zref': ???, 'eref': ???, 'th': 0.01, 'material': 1, 'np': 4, 'rule': Gauss})

    Application
    This element has not been validated yet.

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/06-Quadrilateral/TIEQlin2DQuad4.cpp file provides the class implementation. A TIEQlin2DQuad4 element is created using the built-in json parse-structure provided in the Driver.hpp. A TIEQlin2DQuad4 is defined inside the "Elements" json field indicating its "Tag" as follows,

  • {
        "Elements": {
            "Tag": {
                "name" : "TIEQLIN2DQUAD4",
                "conn" : [ ],
                "attributes": {
                    "cf1": double,
                    "cf2": double,
                    "zref": double,
                    "eref": double,
                    "th": double,
                    "np": int,
                    "rule": str,
                    "type": str,
                    "material": int
                }
            }
        }
    }
    
    Variable Description
    Tag Unique element object identifier.
    conn The element connectivity node array.
    cf1 Lower corner frequencies for damping.
    cf2 Upper corner frequencies for damping.
    zref Reference elevation to compute GGmax and damping.
    eref Reference shear strain metric to read G/Gmax and damping curves.
    th The thickness of the element.
    np Number of quadrature-points used for the integration.
    rule The quadrature integration name rule=GAUSS, LOBATTO.
    type The modulus reduction and damping curve name type='DARENDELI', 'SMALLSTRAIN'.
    materialThe biaxial material identifier.

    Attention
    This formulation only allows small deformations.
    Currently the number of integration points np= 1,4,9,16,25,36,49 are supported, another value assumes np=4.
    The material is considered to be the same at each quadrature point.
    The domain reduction force method is incompatible with this element.
    Example

    A TIEQLIN2DQUAD4 element of thickness 0.01 with 4 integration points between nodes 1, 2, 3 and 4, made of material 1 is constructed as:
    { "Elements": { "1": { "name" : "TIEQLIN2DQUAD4", "conn" : [1,2,3,4], "attributes": { "cf1": ???, "cf2": ???, "zref": ???, "eref": ???, "th": 0.01, "np": 4, "rule": "GAUSS", "type": "DARENDELI", "material": 1 } } } }