The Restrain enforces no displacement for some degrees of freedom in the model. This attribute is provided in the freedof vector in Node. In the figure an example of restrain applied in the for 2D model is shown.
REFERENCE:
The python 01-Pre_Process/Method/Attach.py file provides with an interface to prescribe restrains. A Restrain can be created using the addRestrain() function. This function will transform the provided information into json format to be parse in the Run-Analysis.
addRestrain(tag, dof):
Example
A RESTRAIN applied to node 10 in X,Y,Z direction can be defined using the python interface as follows:
SVL.addRestrain(tag=10, dof=[1,2,3])
Application
Please refer to the D07-ST_Lin_2DConstrainedBuilding_Elastic_Frame2.py file located at 03-Validations/01-Debugging/ to see an example on how to define restraints using the addRestrain function.
The Restraint as an object does not exists in the Run-Analysis. This entity is prescribed using a -1 value in the freedof field in Nodes in the json input file. Therefore, in our previous example,
Example
A fixed tri-dimensional NODE with 3 degree of freedom and coordinate (0.0, 0.0, 10.5) will look like
{ "Nodes": { "10": { "ndof" : 3, "totaldof": [12, 13, 14], "freedof" : [-1, -1, -1], "coords" : [0.0, 0.00, 10.50] } } }