pyyeti.nastran.n2p.formulvs¶
- pyyeti.nastran.n2p.formulvs(nas, seup, sedn=0, keepcset=True, shortcut=True, gset=False)[source]¶
Form ULVS for an upstream SE relative to a given downstream SE.
- Parameters:
nas (dictionary) – This is the nas2cam dictionary:
nas = op2.rdnas2cam()seup (integer) – The id of the upstream superelement.
sedn (integer; optional) – The id of the downstream superelement.
keepcset (bool; optional) – If True, keeps any c-set rows/columns in the result. This is useful when the c-set are real (that is, NOT used for ‘left- over’ DOF after defining the q-set). Set keepcset=False to delete c-set.
shortcut (bool; optional) – If True, use the ULVS already in nas if it’s there.
gset (bool; optional) – If True, and sedn == 0, transform from g-set instead of modal DOF. See below.
- Returns:
ULVS (2d numpy ndarray or 1.0) – Transformation from either the modal or physical DOF of the downstream superelement sedn to the T and q-set DOF of the upstream superelement seup. The transformation (called ULVS here) is as follows:
if sedn > 0: {upstream T & Q} = ULVS * {downstream T & Q} if sedn == 0: {upstream T & Q} = ULVS * {modal} (for gset == False) {upstream T & Q} = ULVS * {g-set} (for gset == True)
Returns 1 if
seup == sedn.
Notes
This routine starts from seup and works down to sedn, forming the appropriate ULVS at each level (by calling formtran()) and multiplying them together to form the total ULVS from sedn DOF to seup T & q-set DOF.
The routine
addulvs()is an interface routine to this routine that simplifies the creation of the standard ULVS matrices (sedn = 0) for inclusion in the nas data structure.Example usage:
# From recovery matrix from se 0 q-set to t & q set of se 500: from pyyeti import nastran import op2 nas = op2.rdnas2cam('nas2cam') ulvs = nastran.formulvs(nas, 500)
See also