User: BDF¶
This document is intended to be a reference guide for users.
Nodes¶
GRID¶
In NASTRAN, nodes can be in the global or a local coordinate frame (rectangular, cylindrical, spherical). Each node may reference a different coordinate frame \(cp\) for the reference coordinate frame (what the value is in the \(x_1, x_2\), and \(x_3\) fields) and for the analysis coordinate frame \(aid\).
Node Specific Variable Names:
| Name | Description |
|---|---|
xyz |
Raw location <\(x_1, x_2, x_3\)> in the BDF |
cp |
reference coordinate system |
cd |
analysis coordinate system |
Position |
location in an arbitrary coordinate system |
UpdatePosition |
change the value of xyz and cp |
resolveGrids |
update all the positions of the grids to a common coordinate system in an more efficient way |
Using the node object:
bdf = BDF()
bdf.readBDF(bdfName)
node = bdf.Node(nid)
node.Position() % gets the position of the node in the global frame
node.Position(cid=0) % same
node.Position(cid=1) % gets the position of the node in a local frame
node.UpdatePosition(bdf,array([1.,2.,3.]),cid=3) % change the location of the node
bdf.resolveGrids(cid=0) % change the xyz of all nodes to the same coordinate system as cid
bdf2 = BDF()
bdf2.readBDF(bdfNameAlt)
bdf.unresolveGrids(bdf2) % change the coordinte system back to the coordinate system in bdf2
CORDx¶
A coordinate system may be defined by 3 points in any non-circular coordinate system or by 3 vectors.
Once cross-referenced a node may use it’s node.Position(cid) method to
determine the position in any frame defined by a coordinate system.