Programmer's Documentation

Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
NstRecord Class Reference

Detailed Description

A group of lines in a NASTRAN text file.

Each NstRecord represents a set of lines in a NASTRAN bulk data file, a output "print" file (.f06) or a "punch" file (.pch). These records are created by NstReader and NstRecord is responsible of parsing each of type and instantiate the corresponding objects, such as elements or data fields, inside a NstMesh object.

See Also
NstReader, Nstmesh

#include <nstrecord.h>

Public Member Functions

 NstRecord ()
 construct record with id and reader ref
void firstLine (uint i)
 set first line of record
void lastLine (uint i)
 add another line to record
void merge (const NstRecord &a)
 merge lines from another record
uint first () const
 index of the first line
uint last () const
 index of the last line
void id (NstRecordId i)
 access record id
NstRecordId id () const
 access record id
bool empty () const
 check if record is empty
uint size () const
 number of lines in this record
void clear ()
 clear lines and set id to undefined
void process (NstReader &rdr) const
 add elements to mesh, if any
bool mprocess (uint i, NstReader &rdr, bool ispunch) const
 add modeshape to mesh
void dprocess (NstReader &rdr, bool ispunch) const
 add displacement to mesh
void pkprocess (NstReader &rdr) const
 add flutter modes in modal subspace
void sigprocess (NstReader &rdr) const
 add stress results for supported element types
void readGrid (NstReader &rdr) const
 read grid point coordinates and gid
void dump (const NstReader &rdr, std::ostream &os) const

Static Public Member Functions

static bool gscan (const char *s)
 scan line for grid point
static NstRecordId toposcan (const char *s, bool ispunch=false)
 scan line for elements
static uint evscan (const char *s)
 scan for eigenvector header
static bool eigtablescan (const char *s)
 scan for eigenvector header
static bool pkzscan (const char *s)
 scan for flutter eigenvector header
static int subcasescan (const char *s)
 scan for subcase identifier
static double timescan (const char *s)
 scan for timestep identifier
static bool dspscan (const char *s, bool ispunch)
 scan for displacement header
static bool sigscan (const char *s, bool ispunch)
 scan for stress header

Private Member Functions

void readBeam (NstReader &rdr) const
 create CBEAM element
void readTria3 (NstReader &rdr) const
 create CTRIA3 element
void readTriaR (NstReader &rdr) const
 create CTRIAR element
void readTria6 (NstReader &rdr) const
 create CTRIA6 element
void readQuad4 (NstReader &rdr) const
 create CQUAD4 element
void readQuadR (NstReader &rdr) const
 create CQUADR element
void readQuad8 (NstReader &rdr) const
 create CQUAD8 element
void readHexa (NstReader &rdr) const
 create CHEXA element
void readTetra (NstReader &rdr) const
 create CTETRA element
void readConm2 (NstReader &rdr) const
 create CONM2 element
void readCmass2 (NstReader &rdr) const
 create CMASS2 element
void readCelas2 (NstReader &rdr) const
 create CELAS2 element
void readRbar (NstReader &rdr) const
 create RBAR element
void readRbe2 (NstReader &rdr) const
 create RBE2 element
void readCord2r (NstReader &rdr) const
 create new coordinate system
bool readPunchMode (uint mi, NstReader &rdr) const
 read eigenvector from punch file
bool readPrintMode (uint mi, NstReader &rdr) const
 read eigenvactor from .f06 file
void appendMode (Matrix &z, uint mi, NstReader &rdr, Real kg=0) const
 insert eigenmode into mesh

Private Attributes

NstRecordId rid
uint lbegin
 line index : first and one-past last line
uint lend

The documentation for this class was generated from the following files:
Generated on Fri Dec 2 2022 03:03:16 for libsurf by   doxygen 1.8.5