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

Background

The null2DFrame2 class creates a two-dimensional frame element with two-nodes. Each node has three degrees-of-freedom, for which two degree-of-freedom represents two translation in the X-, Y-directions, and one rotation in Z-direction. However, this element provides no contribution to the stiffness matrix, mass matrix and damping matrix. This is

\[ \textbf{M}^\textrm{e} = \textbf{0}\,, \; \textbf{K}^\textrm{e} = \textbf{0} \,, \; \textbf{F}^\textrm{e} = \textbf{0} \,. \]

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

REFERENCE:

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

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

    • tag : The identifier of this element, i.e., tag > -1
    • name : Seismo-VLAB element class name
    • conn : Connectivity array of this element

    Example

    A NULL2DFRAME2 element can be defined using the python interface as follows:
    SVL.addElement(tag=1, name='null2DFrame2', conn=[1,2], attributes={'section': 1})

    Application
    This element can be used when rigid link constraints are employed so that in the animation done in Paraview there is an element connecting. Also, this element can be used to transmit distributed load to adjacent elements or nodes.

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

  • {
        "Elements": {
            "Tag": {
                "name" : "NULL2DFRAME2",
                "conn" : [ ]
            }
        }
    }
    
    Variable Description
    Tag Unique element object identifier.
    conn The element connectivity node array.

    Attention
    This element can be used for display purposes when kinematic constraints are employed.
    The element (in the future) can be used unload distributed load that is applied to it.
    Example

    A NULL2DFRAME2 element between nodes 1 and 2 is constructed as:
    { "Elements": { "1": { "name" : "NULL2DFRAME2", "conn" : [1,2] } } }