Seismo-VLAB  1.3
An Open-Source Finite Element Software for Meso-Scale Simulations
Static/Dynamic displacement support motion

Background

Represent a body/volume force that is applied on an Element object. This force is represented by a constant magnitude and direction that is applied on the element. The Load object created in this manner is transformed in the element level using its volume into node forces and then assemble directly to the global force vector.

SupportMotion.png

REFERENCE:

  • Bathe K. Jurgen, "Finite Element Procedures", Chapter 4: pages 161-166, Table 4.3, Prentice-Hall, 1996.

Pre-Analysis

The python Pre-Analysis in the 01-Pre_Process/Method/Attach.py file provides with an interface to create a STATIC/DYNAMIC SUPPORT MOTION LOAD. For example, to create a linkSupportmotionload-load using json format, use:

  • addLoad(tag, name, attributes):

    • tag : The identifier of this load, i.e., tag > -1
    • name : The Seismo-VLAB load class name, in this case 'SupportMotion'
    • attributes : Specific properties for the created load
      • 'list' : The identifier of the nodes where this load acts upon

    Example

    A STATIC/DYNAMIC SUPPORT MOTION LOAD can be defined using the python interface as follows:
    SVL.addLoad(tag=1, name='SupportMotion', attributes={'list': [1]})

    Application
    Please refer to the D22-ST_Rectangular_SupportMotion_Elastic_Frame2.py file located at 03-Validations/01-Debugging/ to see an example on how a STATIC SUPPORT MOTION LOAD is defined.

Please refer to Support Motion to see how the STATIC or DYNAMIC nature of the SUPPORT MOTION is provided.

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 Load, use:

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

Now, to remove a already defined function, use:

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

Run-Analysis

The C++ Run-Analysis in the 02-Run_Process/05-Loads/Load.cpp file provides the class implementation. A STATIC/DYNAMIC SUPPORT MOTION LOAD is defined inside the "Loads" json field indicating its "Tag" as follows,

  • {
        "Loads": {
            "Tag": {
                "name" : "SUPPORTMOTION",
                "attributes": {
                    "list": [ ]
                }
            }
        }
    }
    
    Variable Description
    Tag The Load identifier to applied the support motion.
    list The list of support identifiers where the motion are applied.

    Attention
    The static or dynamic nature of the motion is provided in Support Motion.
    Note that Supports must be previously defined. See Support Motion for more details.
    Example

    The STATIC/DYNAMIC SUPPORT MOTION LOAD applied in node 5 is created as:
    { "Loads": { "1": { "name" : "SUPPORTMOTION", "attributes": { "list": [5] } } } }