pyNastran  0.5.0
pyNastran BDF Reader/Writer, OP2 Parser, and GUI
pyNastran::op2::tables::resultTable Namespace Reference

Classes

class  ResultTable

Functions

def readTableA_DUMMY
 reads a dummy geometry table
def readTableB_DUMMY
 reads a dummy results table
def readTable_DUMMY_3
 sets dummy parameters
def readDUMMY_Data
 creates a dummy object and skips the results
def updateSort1
def updateSort2
def extractSort1
def extractSort2
def addDataParameter
 self.mode = self.getValues(data,'i',5) ## mode number
def setNullNonlinearFactor
def applyDataCodeValue
def createTransientObject
 Creates a transient object (or None if the subcase should be skippied).
def createThermalTransientObject
def readResultsTable
def readTable4
 loops over repeated table -4s
def readTable4DataSetup
 checks to see if table 4 is done, loads the data, and handles skipping
def updateDtMap
 Interfaces with setTransientTimes(times) to limit the amount of output that is in the transient results.
def handleResultsBufferShort
def handleResultsBufferNoRecursion
 prototype method for getting results without recursion
def NotImplementedOrSkip
 stops if code is in development and continues otherwise
def handleResultsBuffer3
 method for getting results without recursion
def handleResultsBuffer
 Works by knowing that: the end of an unbuffered table has a.
def readMappedScalarsOut
def readScalarsOut
 reads len(strFormat) values and puts it into the result object the "o" in readScalars4o means "out" b/c it creates an out tuple instead of 4 values like readScalars4
def get_close_num

Variables

 iTableMap
 tableName
 analysisCode
 tableCode
 formatCode
 sortCode
 obj
 the results object
 nonlinearFactor
 dt/loadFactor/frequency/loadStep value (or None for static)
 dtMap
 isBufferDone
 dataCode
 atfsCode
 developer parameter - Analysis/Table/Format/Sort Codes
 isMarker
 ???
 markerStart
 n
 data

Function Documentation

reads a dummy geometry table

Definition at line 53 of file resultTable.py.

References readTableB_DUMMY().

reads a dummy results table

Definition at line 59 of file resultTable.py.

Referenced by readTableA_DUMMY().

sets dummy parameters

Definition at line 68 of file resultTable.py.

creates a dummy object and skips the results

Definition at line 76 of file resultTable.py.

References updateSort1().

Definition at line 80 of file resultTable.py.

References updateSort2().

Referenced by readDUMMY_Data().

Definition at line 84 of file resultTable.py.

References extractSort1().

Referenced by updateSort1().

def pyNastran.op2.tables.resultTable.extractSort1 (   self,
  eidDevice,
  dt 
)

Definition at line 88 of file resultTable.py.

References extractSort2().

Referenced by updateSort2().

def pyNastran.op2.tables.resultTable.extractSort2 (   self,
  timeFreq,
  eid 
)

Definition at line 93 of file resultTable.py.

References addDataParameter().

Referenced by extractSort1().

def pyNastran.op2.tables.resultTable.addDataParameter (   self,
  data,
  Name,
  Type,
  fieldNum,
  applyNonlinearFactor = True,
  fixDeviceCode = False 
)

self.mode = self.getValues(data,'i',5) ## mode number

Definition at line 102 of file resultTable.py.

Referenced by extractSort2().

def pyNastran.op2.tables.resultTable.applyDataCodeValue (   self,
  Name,
  value 
)

Definition at line 119 of file resultTable.py.

def pyNastran.op2.tables.resultTable.createTransientObject (   self,
  storageObj,
  classObj,
  debug = False 
)

Creates a transient object (or None if the subcase should be skippied).

Parameters:
storageObjthe dictionary to store the object in (e.g. self.bars)
classObjthe class object to instantiate
Note:
dt can also be loadStep depending on the class

Definition at line 129 of file resultTable.py.

References createThermalTransientObject().

Referenced by setNullNonlinearFactor().

def pyNastran.op2.tables.resultTable.createThermalTransientObject (   self,
  resultName,
  objClass,
  isSort1 
)

Definition at line 160 of file resultTable.py.

References readResultsTable().

Referenced by createTransientObject().

def pyNastran.op2.tables.resultTable.readResultsTable (   self,
  table3,
  table4Data,
  flag = 0 
)

Definition at line 172 of file resultTable.py.

Referenced by createThermalTransientObject().

def pyNastran.op2.tables.resultTable.readTable4 (   self,
  table4Data,
  flag,
  iTable 
)

loops over repeated table -4s

Definition at line 270 of file resultTable.py.

References readTable4DataSetup().

def pyNastran.op2.tables.resultTable.readTable4DataSetup (   self,
  table4Data,
  iTable 
)

checks to see if table 4 is done, loads the data, and handles skipping

Definition at line 304 of file resultTable.py.

References updateDtMap().

Referenced by readTable4().

Interfaces with setTransientTimes(times) to limit the amount of output that is in the transient results.

This allows for models with 1000s of time steps that would otherwise crash with memory errors to run. Every result may be extracted if the OP2 is read multiple times.

While not ideal, this function prevents having to drastically change the code to support large models, which would make the OP2 reader not as useful for reasonably sized models.

The code works by taking the user-provided array of values for a given subcase and b/c it's an array can be subtracted from the current value of dt. Then the minimum absolute value is found and that is mapped back to the original value. If a closer value to the target user-specified value is found, the previous result will be deleted, which keeps memory usage down. The new result will then be read. If a dt is not closer than an existing value to a given case, that case will not be read.

Definition at line 354 of file resultTable.py.

References get_close_num(), and handleResultsBufferShort().

Referenced by readTable4DataSetup().

def pyNastran.op2.tables.resultTable.handleResultsBufferShort (   self,
  func,
  debug = False 
)

Definition at line 405 of file resultTable.py.

References handleResultsBufferNoRecursion().

Referenced by updateDtMap().

def pyNastran.op2.tables.resultTable.handleResultsBufferNoRecursion (   self,
  f,
  debug = False 
)

prototype method for getting results without recursion

Definition at line 422 of file resultTable.py.

References handleResultsBuffer3(), and NotImplementedOrSkip().

Referenced by handleResultsBufferShort().

stops if code is in development and continues otherwise

Definition at line 443 of file resultTable.py.

Referenced by handleResultsBufferNoRecursion().

def pyNastran.op2.tables.resultTable.handleResultsBuffer3 (   self,
  f,
  resultName,
  debug = False 
)

method for getting results without recursion

Definition at line 453 of file resultTable.py.

References handleResultsBuffer(), and pyNastran::bdf::cards::aero.type.

Referenced by handleResultsBufferNoRecursion().

def pyNastran.op2.tables.resultTable.handleResultsBuffer (   self,
  func,
  debug = False 
)

Works by knowing that: the end of an unbuffered table has a.

  • [4] the end of an table with a buffer has a
  • [4,4,x,4] where x is the next buffer size, which may have another buffer the end of the final buffer block has
  • nothing!
Parameters:
selfthe object pointer
functhe function to recursively call (the function that called this)
debugdeveloper debug
Note:
The code knows that the large buffer is the default size and the only way there will be a smaller buffer is if there are no more buffers. So, the op2 is shifted by 1 word (4 bytes) to account for this end shift. An extra marker value is read, but no big deal. Beyond that it's just appending some data to the binary string and calling the function that's passed in
this will soon be replaced by handleResultsBuffer3 (and then renamed to handleResultsBuffer after this is removed)
Warning:
Dont modify this without LOTS of testing. It's a VERY important function

Definition at line 522 of file resultTable.py.

References readMappedScalarsOut().

Referenced by handleResultsBuffer3().

def pyNastran.op2.tables.resultTable.readMappedScalarsOut (   self,
  debug = False 
)

Definition at line 563 of file resultTable.py.

References readScalarsOut().

Referenced by handleResultsBuffer().

def pyNastran.op2.tables.resultTable.readScalarsOut (   self,
  debug = False 
)

reads len(strFormat) values and puts it into the result object the "o" in readScalars4o means "out" b/c it creates an out tuple instead of 4 values like readScalars4

Note:
nTotal is the number of bytes strFormat = 'iiii'

Definition at line 585 of file resultTable.py.

References get_close_num().

Referenced by readMappedScalarsOut().

def pyNastran.op2.tables.resultTable.get_close_num (   v1,
  v2,
  closePoint 
)

Definition at line 606 of file resultTable.py.

Referenced by readScalarsOut(), and updateDtMap().


Variable Documentation

the results object

Definition at line 76 of file resultTable.py.

dt/loadFactor/frequency/loadStep value (or None for static)

Definition at line 102 of file resultTable.py.

developer parameter - Analysis/Table/Format/Sort Codes

Definition at line 175 of file resultTable.py.

 All Classes Namespaces Files Functions Variables