Node#
This method is used to construct a Node which stores information about coordinates and mass at a single point.
The assignment of mass is optional.
Each node has Model.ndm coordinates (position in space) and Model.ndf degrees of freedom (displacement and, in 2D/3D frame models, rotation).
- Model.node(tag, coords[, mass])#
- Parameters:
- tag
integer tag identifying node
- coords
tuple of
Model.ndmfloat coordinates. Units of length. Coordinates may be retrieved withModel.nodeCoord()and updated withModel.setNodeCoord().- mass
tuple of
Model.ndflumped mass values per DOF (see Theory for units and interpretation)
- node $tag [ndm $coords] <-mass [ndf $mass]>
Argument |
Type |
Description |
|---|---|---|
$tag |
integer |
unique tag identifying node |
$coords |
list float |
ndm nodal coordinates |
$mass |
list float |
optional ndf lumped mass values per DOF (see Theory for units) |
Theory#
Nodes define discrete locations in a model.
The number of coordinates is Model.ndm (number of dimensions); the number of degrees of freedom per node is Model.ndf (typically ndm for trusses, ndm + rotational DOFs for frames).
See nodeDisp for the ordering of displacement components.
Mass. When the mass argument is provided, it is a tuple of ndf values: lumped mass (or rotational inertia) per degree of freedom,
in the mass units of the chosen system (e.g. kg in SI, slug in fps).
For a 2D model with ndf=3, the first two values are translational mass for u1 and u2; the third is rotational inertia for r3.
Examples#
The following example adds two nodes to a Model with ndm=2 and ndf=3.
Node 3 is at coordinates (168.0, 0.0), node 4 at (168.0, 144.0).
Node 4 is assigned lumped mass (10.0, 10.0, 0.0): 10.0 for translational DOFs 1 and 2, and 0.0 for rotational DOF 3.
model = xara.Model(ndm=2, ndf=3)
model.node(3, (168.0, 0.0))
model.node(4, (168.0, 144.0), mass=(10.0, 10.0, 0.0))
node 3 168.0 0.0
node 4 168.0 144.0 -mass 10.0 10.0 0.0
Code Developed by: fmk