pyyeti.nastran.n2p.formdrm¶
- pyyeti.nastran.n2p.formdrm(nas, seup, dof, sedn=0, gset=False)[source]¶
Form a displacement data recovery matrix for specified dof.
- Parameters:
nas (dictionary) – This is the nas2cam dictionary:
nas = op2.rdnas2cam()seup (integer) – The id of the upstream superelement.
dof (1d or 2d integer array) – One or two column matrix: [ids] or [[ids, dofs]]; if 1d, the DOF for each node is internally set to 123456. The DOF can be entered in Nastran style, eg: 123 for the three translations. For example, all of these are equivalent:
dof = 99 dof = [99] dof = [[99, 123456]] dof = [[99, 1], [99, 2], [99, 3], [99, 4], [99, 5], [99, 6]]
sedn (integer) – The id of the downstream superelement.
gset (bool; optional) – If true, and sedn == 0, transform from g-set instead of modal DOF. See below.
- Returns:
DRM (ndarray) – Transformation from downstream DOF to the specified upstream DOF (dof). The transformation is as follows:
if sedn > 0: {upstream DOF} = DRM * {downstream T & Q} if sedn == 0: {upstream DOF} = DRM * {modal} (for gset == False) {upstream DOF} = DRM * {g-set} (for gset == True)
outdof (ndarray) – The expanded version of the dof input as returned by
mkdofpv():[id1, dof1; id1, dof2; ... id2, dof1; ...]
Notes
This routine uses
formulvs()andformtran()as necessary.Example usage:
# Want data recovery matrix from se 0 to grids 3001 and # 3002 of se 300: from pyyeti import nastran import op2 nas = op2.rdnas2cam() drm, dof = nastran.formdrm(nas, 300, [3001, 3002]) # for only the translations: drm, dof = nastran.formdrm(nas, 300, [[3001, 123], [3002, 123])
See also