pyyeti.nastran.n2p.upqsetpv

pyyeti.nastran.n2p.upqsetpv(nas, sedn=0)[source]

Form upstream q-set partition vector for a downstream SE

This is for all upstream superelements, unlike how upasetpv() works.

Parameters:
  • nas (dictionary) – This is the nas2cam dictionary: nas = op2.rdnas2cam()

  • sedn (integer; optional) – The id of the downstream superelement.

Returns:

pv (1d ndarray) – A True/False vector for partitioning upstream q-set DOF from downstream p-set.

Notes

If necessary, this routine will call itself recursively up the superelement tree to account for all upstream q-set. This will take care of the Benfield-Hruda case where upstream q-set go to the b-set of another superelement before going to its ultimate superelement.

Note: if any upstream SEe does not have any DOF assigned to the q-set (as is quite typical for partitioned SE’s), this routine will then assume that all SPOINTs are q-set DOF.

Example usage:

# Form rigid-body modes for SE 0, and then zero out all DOF
# that correspond to upstream q-set:
from pyyeti import nastran
nas = nastran.rdnas2cam('nas2cam')
rb = nastran.rbgeom_uset(nas['uset'][0])
pv = nastran.upqsetpv(nas, 0)
rb[pv] = 0.0