utils
Module
- defines:
elements = elements_from_quad(nx, ny, dtype=’int32’)
points, elements = points_elements_from_quad_points(p1, p2, p3, p4, x, y, dtype=’int32’)
- pyNastran.bdf.cards.aero.utils.build_trim_load_cases(model: BDF, trim_load_cases: list[tuple[str, int, float, float, Any]], aeqr: float = 1.0)[source]
- trim_load_cases = [
# subcase, name, trim_id, mach, q, label: value (10, ‘alpha=1’, 10, 0.8, 1., {‘ANGLEA’: 1.,}),
]
- pyNastran.bdf.cards.aero.utils.create_axisymmetric_body(xstation, ystation, zstation, radii, aspect_ratio, p1, thetas=None)[source]
creates a CAERO2-type body by defining cone properties at various stations
- pyNastran.bdf.cards.aero.utils.create_ellipse(aspect_ratio, radius, thetas=None)[source]
a : major radius b : minor radius
- Parameters:
- aspect_ratiofloat
AR = height/width a = radius (theta=90) b = AR*radius (theta=0)
- https://en.wikipedia.org/wiki/Ellipse#Polar_form_relative_to_center
- .. math::
r(theta )={frac {ab}{sqrt {(bcos theta )^{2}+(asin theta )^{2}}}}
- R(theta) = a*b / ((b*cos(theta))**2 + (a*sin(theta))**2)
- TODO: doesn’t support the aero coordinate system
- pyNastran.bdf.cards.aero.utils.elements_from_quad(nx: int, ny: int, dtype: str = 'int32')[source]
Creates an array of rectilinear mesh of nodes and then grabs indexs it to get the elements
- Parameters:
- nx / nyint
number of nodes in the x/y directions
- dtype: str; default=’int32’
the type of the integer
- pyNastran.bdf.cards.aero.utils.make_monpnt1s_from_cids(model: BDF, nids, cids, cid_to_inids, delete_unused_coords=True)[source]
Creates MONPNT1s, AECOMPs, and SET1s by a series of coordinate systems
- Parameters:
- model :: BDF()
the model object
- nids(nnodes, ) int ndarray
all the nodes in the model
- cid_to_inidsdict[cid]=inids
- cidint
coord id
- inids(nnodes_in_cid, ) int ndarray
the indicies in nids in sorted order
- cidslist[int]
cids to create
- delete_unused_coordsbool; default=True
delete coordinate systems from the model that aren’t used
Notes
Doesn’t write duplicate sets
- pyNastran.bdf.cards.aero.utils.points_elements_from_quad_points(p1, p2, p3, p4, x, y, dtype='int32')[source]
Creates nodes and elements in a structured grid given 4 points. Used to make an CAERO1 panel.
- Parameters:
- p1(3, ) float ndarray
leading edge root
- p2(3, ) float ndarray
trailing edge root
- p3(3, ) float ndarray
trailing edge tip
- p4(3, ) float ndarray
leading edge tip
- x(nchord, ) float ndarray
points in the chordwise direction in percentage of the chord
- y(nspan, ) float ndarray
points in the spanwise direction in percentage of the span
- dtypestr; default=’int32’
the type of elements
- Returns:
- points (nchord, nspan) float ndarray; might be backwards???
the points
- elements (nquads, 4) int ndarray
series of quad elements nquads = (nchord-1) * (nspan-1)