The Mass is an entity (not a class) that defines a mass value at a Node in a finite element Mesh. The mass is set to a Node using the member function:
The mass is store in the private member variable:
The mass set in this manner is added to the mass contribution of Element that share this Node.
REFERENCE:
The python 01-Pre_Process/Method/Attach.py file provides with an interface to populate the Entities
dictionary. A Mass can be added using the addMass() function. This function will transform the provided information into json format to be parse in the Run-Analysis.
addMass(tag, dof, vals):
Example
A MASS can be defined using the python interface as follows:
SVL.addMass(tag=2, dof=[1, 2], vals=[1.00, 1.00])
Application
Please refer to the A04-DY_Lin_1DPointMass_Elastic_ZeroLength.py file located at 03-Validations/01-Debugging/ to see an example on how to define a point mass using the addMass function.
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 Mass, use:
The C++ 02-Run_Process/01-Node/Node.cpp file provides the mass declaration. A Mass is added to a Node using the Node::SetMass() member function. A Mass is defined inside the "Masses" json field indicating its "Tag" as follows,
{ "Masses": { "Tag": { "ndof" : int, "mass" : [ ] } } }
Variable | Description |
---|---|
Tag | The Node identifier where the mass is added. |
ndof | Number of degree of freedom in the node. |
mass | List of mass values applied to each degree of freedom. |
A 2D MASS of 10.0 applied to node 1 with 3 degree of freedom over the X,Y direction and rotational mass 100.0 over the \(\theta_Z\) is:
{ "Masses": { "1": { "ndof" : 3, "mass" : [10.0, 10.0, 100.00] } } }A 3D MASS applied to node 5 with 6 degree of freedom over the X,Y,Z direction and zero rotational mass over \(\theta_X,\theta_Y,\theta_Z\) is:
{ "Masses": { "5": { "ndof" : 6, "mass" : [1.00, 1.00, 1.00, 0.00, 0.00, 0.00] } } }