Represent a body/volume force that is applied on an Element object. This force is represented by a varying 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 nodal forces and then assembled directly to the global force vector. The dynamic body load direction needs to coincide with the global coordinate system.
REFERENCE:
The python Pre-Analysis in the 01-Pre_Process/Method/Attach.py file provides with an interface to create a DYNAMIC BODY LOAD. For example, to create a Dynamic body-load using json format, use:
addLoad(tag, name, attributes):
Example
A DYNAMIC BODY LOAD can be defined using the python interface as follows:
SVL.addLoad(tag=1, name='ElementLoad', attributes={'fun': 1, 'type': 'Body', 'list': [1,2,3,4,5]})
The information required to define the magnitude and direction of this Load is provided in the attributes['fun'] identifier. Thus, to create a DYNAMIC FUNCTION using the json format, use:
addFunction(tag, name, attributes):
The file format specified at attributes['file']='ricker.in' must have the structure shown in the figure:
Example
A DYNAMIC FUNCTION can be defined using the python interface as follows:
SVL.addFunction(tag=1, name='TimeSeries', attributes={'file': 'ricker.in', 'dir': [25000.0, 0.0, 0.0]})
Application
Please refer to the D21-DY_Damped_Rectangular_BodyLoad_Elastic_Frame2.py file located at 03-Validations/01-Debugging/ to see an example on how a DYNAMIC BODY LOAD and its DYNAMIC FUNCTION are defined.
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:
Now, to remove a already defined function, use:
The C++ Run-Analysis in the 02-Run_Process/05-Loads/Load.cpp file provides the class implementation. A STATIC BODY LOAD is defined inside the "Loads" json field indicating its "Tag" as follows,
{ "Loads": { "Tag": { "name" : "ELEMENTLOAD", "attributes": { "name": "TIMESERIES", "type": "BODY", "file": str, "dir": [ ], "list": [ ] } } } }
Variable | Description |
---|---|
Tag | Unique load object identifier. |
file | Represents the full path where the file is located. |
dir | Vector containing the direction of the force. |
list | List of Element identifiers that share this load. |
file
for dynamic analysis contains the number of time steps, and then a vector with the varying intensities in time. The time step of such intensities is assumed to coincide with the time step of the simulation.A 2D DYNAMIC BODY LOAD acting on x-direction whose magnitude in time are ../Exterior.txt file and applied on elements 1,3,5, and 7:
{ "Loads": { "1": { "name" : "ELEMENTLOAD", "attributes": { "name": "TIMESERIES", "type": "BODY", "file": "/full/path/to/folder/Exterior.txt", "dir": [1.000, 0.000], "list": [1,3,5,7] } } } }