pyyeti.nastran.op2.procdrm12

pyyeti.nastran.op2.procdrm12(op2file=None, op4file=None, dosort=True)[source]

Process op2/op4 file2 output from DRM1/DRM2 DMAPs to form data recovery matrices.

Parameters:
  • op2file (string or None) – Either the basename of the .op2 and .op4 files, or the full name of the .op2 file. If None, a GUI is opened for file selection.

  • op4file (string or None) – The name of the .op4 file or, if None, builds name from the op2file input.

  • dosort (bool) – If True, sort data recovery rows in ascending order by ID/DOF. Otherwise, return in order requested in Nastran run.

Returns:

otm (dictionary) – Has data recovery matrices (DRMs), id/dof info, and generic descriptions. The potential DRM keys are:

  'ATM'  : acceleration DRM

For mode-displacement:
  'DTM'  : displacement DRM
  'LTM'  : element force (loads) DRM
  'SPCF' : SPC forces DRM
  'STM'  : element stress DRM

For mode-acceleration:
  'DTMD' : displacement-dependent part of displacement DRM
  'DTMA' : acceleration-dependent part of displacement DRM
  'LTMD' : displacement-dependent part of element force DRM
  'LTMA' : acceleration-dependent part of element force DRM
  'SPCFD': displacement-dependent part of SPCF forces DRM
  'SPCFA': acceleration-dependent part of SPCF forces DRM
  'STMD' : displacement-dependent part of element stress DRM
  'STMA' : displacement-dependent part of element stress DRM

The id/dof matrices are each 2 columns of [id, dof] with number of rows equal to the number of rows in corresponding DRM. The keys are the applicable strings from:

'ATM_id_dof'
'DTM_id_dof'
'LTM_id_dof' - dof is actually the Nastran item code
'SPCF_id_dof'
'STM_id_dof' - dof is actually the Nastran item code

The descriptions are arrays of strings with generic descriptions for each data recovery item. Length is equal to number of rows in corresponding DRM. See nastran_dr_descriptions() for more information. The keys are the applicable strings from:

'ATM_desc'
'DTM_desc'
'LTM_desc',
'SPCF_desc'
'STM_desc'.

Notes

Currently, only displacements, accelerations, SPC forces, element forces and element stresses (for some elements) are implemented.

Example usage:

import op2
otm = op2.procdrm12('drm2')