result_objects Package
element_table_object
Module
digraph inheritanceacd67543ee {
bgcolor=transparent;
rankdir=LR;
size="";
"pyNastran.op2.op2_interface.op2_codes.Op2Codes" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled"];
"pyNastran.op2.result_objects.element_table_object.ElementTableArray" [URL="#pyNastran.op2.result_objects.element_table_object.ElementTableArray",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"];
"pyNastran.op2.result_objects.op2_objects.BaseElement" -> "pyNastran.op2.result_objects.element_table_object.ElementTableArray" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.op2.result_objects.element_table_object.RealElementTableArray" [URL="#pyNastran.op2.result_objects.element_table_object.RealElementTableArray",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"];
"pyNastran.op2.result_objects.element_table_object.ElementTableArray" -> "pyNastran.op2.result_objects.element_table_object.RealElementTableArray" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.op2.result_objects.op2_objects.BaseElement" [URL="#pyNastran.op2.result_objects.op2_objects.BaseElement",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"];
"pyNastran.op2.result_objects.op2_objects.ScalarObject" -> "pyNastran.op2.result_objects.op2_objects.BaseElement" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.op2.result_objects.op2_objects.BaseScalarObject" [URL="#pyNastran.op2.result_objects.op2_objects.BaseScalarObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="The base scalar class is used by:"];
"pyNastran.op2.op2_interface.op2_codes.Op2Codes" -> "pyNastran.op2.result_objects.op2_objects.BaseScalarObject" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.op2.result_objects.op2_objects.ScalarObject" [URL="#pyNastran.op2.result_objects.op2_objects.ScalarObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Used by all vectorized objects including:"];
"pyNastran.op2.result_objects.op2_objects.BaseScalarObject" -> "pyNastran.op2.result_objects.op2_objects.ScalarObject" [arrowsize=0.5,style="setlinewidth(0.5)"];
}
- class pyNastran.op2.result_objects.element_table_object.ElementTableArray(data_code, is_sort1, isubcase, dt)[source]
Bases:
BaseElement
- property headers
op2_objects
Module
digraph inheritancec770694c5f {
bgcolor=transparent;
rankdir=LR;
size="";
"pyNastran.op2.op2_interface.op2_codes.Op2Codes" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled"];
"pyNastran.op2.result_objects.op2_objects.BaseElement" [URL="#pyNastran.op2.result_objects.op2_objects.BaseElement",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"];
"pyNastran.op2.result_objects.op2_objects.ScalarObject" -> "pyNastran.op2.result_objects.op2_objects.BaseElement" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.op2.result_objects.op2_objects.BaseScalarObject" [URL="#pyNastran.op2.result_objects.op2_objects.BaseScalarObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="The base scalar class is used by:"];
"pyNastran.op2.op2_interface.op2_codes.Op2Codes" -> "pyNastran.op2.result_objects.op2_objects.BaseScalarObject" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.op2.result_objects.op2_objects.ScalarObject" [URL="#pyNastran.op2.result_objects.op2_objects.ScalarObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Used by all vectorized objects including:"];
"pyNastran.op2.result_objects.op2_objects.BaseScalarObject" -> "pyNastran.op2.result_objects.op2_objects.ScalarObject" [arrowsize=0.5,style="setlinewidth(0.5)"];
}
- class pyNastran.op2.result_objects.op2_objects.BaseElement(data_code, isubcase, apply_data_code=True)[source]
Bases:
ScalarObject
- class pyNastran.op2.result_objects.op2_objects.BaseScalarObject[source]
Bases:
Op2Codes
- The base scalar class is used by:
RealEigenvalues
BucklingEigenvalues
ComplexEigenvalues
ScalarObject
- property class_name: str
- object_attributes(mode: str = 'public', keys_to_skip=None, filter_properties: bool = False) list[str] [source]
- class pyNastran.op2.result_objects.op2_objects.ScalarObject(data_code, isubcase, apply_data_code=True)[source]
Bases:
BaseScalarObject
- Used by all vectorized objects including:
DisplacementArray
RodStressArray
- property dataframe: pd.DataFrame
alternate way to get the dataframe
- print_data_members()[source]
Prints out the “unique” vals of the case.
Uses a provided list of data_code[‘data_names’] to set the values for each subcase. Then populates a list of self.name+’s’ (by using setattr) with the current value. For example, if the variable name is ‘mode’, we make self.modes. Then to extract the values, we build a list of of the variables that were set like this and then loop over them to print their values.
This way there is no dependency on one result type having [‘mode’] and another result type having [‘mode’,’eigr’,’eigi’].
- recast_gridtype_as_string(grid_type)[source]
converts a grid_type integer to a string
Point type (per NX 10; OUG table; p.5-663): -1, Harmonic Point (my choice) -> ‘ ‘ = 538976288 (as an integer) =1, GRID Point =2, Scalar Point =3, Extra Point =4, Modal =5, p-elements, 0-DOF -6, p-elements, number of DOF
- pyNastran.op2.result_objects.op2_objects.get_complex_times_dtype(size: int) tuple[str, str] [source]
- pyNastran.op2.result_objects.op2_objects.get_sort_element_sizes(self, debug: bool = False) tuple[int, int, int] [source]
- pyNastran.op2.result_objects.op2_objects.get_sort_node_sizes(self, debug: bool = False) tuple[int, int, int] [source]
scalar_table_object
Module
table_object
Module
digraph inheritancef9924b78ce {
bgcolor=transparent;
rankdir=LR;
size="";
"pyNastran.op2.op2_interface.op2_codes.Op2Codes" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled"];
"pyNastran.op2.result_objects.op2_objects.BaseScalarObject" [URL="#pyNastran.op2.result_objects.op2_objects.BaseScalarObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="The base scalar class is used by:"];
"pyNastran.op2.op2_interface.op2_codes.Op2Codes" -> "pyNastran.op2.result_objects.op2_objects.BaseScalarObject" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.op2.result_objects.op2_objects.ScalarObject" [URL="#pyNastran.op2.result_objects.op2_objects.ScalarObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Used by all vectorized objects including:"];
"pyNastran.op2.result_objects.op2_objects.BaseScalarObject" -> "pyNastran.op2.result_objects.op2_objects.ScalarObject" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.op2.result_objects.table_object.ComplexTableArray" [URL="#pyNastran.op2.result_objects.table_object.ComplexTableArray",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="complex displacement style table"];
"pyNastran.op2.result_objects.table_object.TableArray" -> "pyNastran.op2.result_objects.table_object.ComplexTableArray" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.op2.result_objects.table_object.RealTableArray" [URL="#pyNastran.op2.result_objects.table_object.RealTableArray",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="displacement style table"];
"pyNastran.op2.result_objects.table_object.TableArray" -> "pyNastran.op2.result_objects.table_object.RealTableArray" [arrowsize=0.5,style="setlinewidth(0.5)"];
"pyNastran.op2.result_objects.table_object.TableArray" [URL="#pyNastran.op2.result_objects.table_object.TableArray",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class for:"];
"pyNastran.op2.result_objects.op2_objects.ScalarObject" -> "pyNastran.op2.result_objects.table_object.TableArray" [arrowsize=0.5,style="setlinewidth(0.5)"];
}
- defines:
TableObject
RealTableArray
ComplexTableArray
- these are used by:
RealDisplacementArray
RealVelocityArray
RealAccelerationArray
RealEigenvaluesArray
RealSPCForcesArray
RealMPCForcesArray
RealAppliedLoadsArray
ComplexDisplacementArray
ComplexVelocityArray
ComplexAccelerationArray
ComplexEigenvaluesArray
ComplexSPCForcesArray
ComplexMPCForcesArray
ComplexAppliedLoadsArray
- class pyNastran.op2.result_objects.table_object.ComplexTableArray(data_code, is_sort1, isubcase, dt)[source]
Bases:
TableArray
complex displacement style table
- classmethod add_complex_modes_case(table_name, element, data, isubcase, modes, eigrs, eigis, is_sort1=True, is_random=False, is_msc=True, random_code=0, title='', subtitle='', label='')[source]
- classmethod add_freq_case(table_name, node_gridtype, data, isubcase, freqs, is_sort1=True, is_random=False, is_msc=True, random_code=0, title='', subtitle='', label='')[source]
- property is_complex: bool
- property is_real: bool
- class pyNastran.op2.result_objects.table_object.RealTableArray(data_code, is_sort1, isubcase, dt)[source]
Bases:
TableArray
displacement style table
- classmethod add_modal_case(table_name, node_gridtype, data, isubcase, modes, eigenvalues, mode_cycles, is_sort1=True, is_random=False, is_msc=True, random_code=0, title='', subtitle='', label='')[source]
- classmethod add_static_case(table_name, node_gridtype, data, isubcase, is_sort1=True, is_random=False, is_msc=True, random_code=0, title='', subtitle='', label='')[source]
- classmethod add_transient_case(table_name, node_gridtype, data, isubcase, times, is_sort1=True, is_random=False, is_msc=True, random_code=0, title='', subtitle='', label='')[source]
- property is_complex: bool
- property is_real: bool
- write_csv(csv_file: TextIO, is_exponent_format: bool = False, is_mag_phase: bool = False, is_sort1: bool = True, write_header: bool = True)[source]
- write_frd(frd_file: TextIO, is_exponent_format: bool = False, is_mag_phase: bool = False, is_sort1: bool = True, write_header: bool = True)[source]
https://web.mit.edu/calculix_v2.7/CalculiX/cgx_2.7/doc/cgx/node174.html
Nodal Results Block Purpose: Stores values on node positions
1. Record: Format:(1X,’ 100’,’C’,6A1,E12.5,I12,20A1,I2,I5,10A1,I2) Values: KEY,CODE,SETNAME,VALUE,NUMNOD,TEXT,ICTYPE,NUMSTP,ANALYS,
FORMAT
- Where: KEY = 100
CODE = C SETNAME= Name (not used) VALUE = Could be frequency, time or any numerical value NUMNOD = Number of nodes in this nodal results block TEXT = Any text ICTYPE = Analysis type
0 static 1 time step 2 frequency 3 load step 4 user named
NUMSTP = Step number ANALYS = Type of analysis (description) FORMAT = Format indicator
0 short format 1 long format 2 binary format
#————————————————————————– 2. Record: Format:(1X,I2,2X,8A1,2I5) Values: KEY, NAME, NCOMPS, IRTYPE Where: KEY = -4
NAME = Dataset name to be used in the menu NCOMPS = Number of entities IRTYPE = 1 Nodal data, material independent
2 Nodal data, material dependant 3 Element data at nodes (not used)
#————————————————————————– 3. Type of Record: Format:(1X,I2,2X,8A1,5I5,8A1) Values: KEY, NAME, MENU, ICTYPE, ICIND1, ICIND2, IEXIST, ICNAME Where: KEY = -5
NAME = Entity name to be used in the menu for this comp. MENU = 1 ICTYPE = Type of entity
1 scalar 2 vector with 3 components 4 matrix
- 12 vector with 3 amplitudes and 3 phase-angles in
degree
ICIND1 = sub-component index or row number ICIND2 = column number for ICTYPE=4 IEXIST = 0 data are provided
- 1 data are to be calculated by predefined
functions (not used)
2 as 0 but earmarked
- ICNAME = Name of the predefined calculation (not used)
ALL calculate the total displacement if ICTYPE=2
This record must be repeated for each entity.
4. Type of Record: (not used) This record will be necessary in combination with the request for predefined calculations. This type of record is not allowed in combination with binary coding of data. Format:(1X,I2,2I5,20I3) Values: KEY,IRECTY,NUMCPS,(LSTCPS(I),I=1,NUMCPS) Where: KEY = -6
IRECTY = Record variant identification number NUMCPS = Number of components LSTCPS = For each variant component, the position of the
corresponding component in attribute definition
#————————————————————————–
5. Type of Record: The following records are data-records and the format is repeated for each node.
In case of material independent data
ascii coding:
- Following records (ascci, FORMAT=0 | 1):
Short Format:(1X,I2,I5,6E12.5) Long Format:(1X,I2,I10,6E12.5) Values: KEY, NODE, XX.. Where: KEY = -1 if its the first line of data for a given node
-2 if its a continuation line
NODE = node number or blank if KEY=-2 XX.. = data
binary coding:
Following records (ascci, FORMAT=2): (int,NCOMPS*float) int and float are ansi-c data-types Values: NODE, XX.. Where:
NODE = node number or blank if KEY=-2 XX.. = data
In case of material dependant data REMARK: Implemented only for NMATS=1 - first line: Short Format:(1X,I2,4I5) Long Format:(1X,I2,I10,3I5) Values: KEY, NODENR, NMATS Where: KEY = -1
NODENR = Node number NMATS = Number of different materials at this node(unused)
second and following lines:
Short Format:(1X,I2,I5,6E12.5) Long Format:(1X,I2,I10,6E12.5) Values: KEY, MAT, XX, YY, ZZ, XY, YZ, ZX .. Where: KEY = -2
MAT = material-property-number if KEY=-2 (unused) XX.. = data
Last Record (only FORMAT=0 | 1 (ascii), omitted for FORMAT=2): Format:(1X,’-3’) Values: KEY Displacement Table —————— Flag, SubcaseID, iTime, NID, dx, dy, dz, rx, ry, rz, cd, PointType 1, 1, 0, 101, 0.014159, 0.03448, 0.019135, 0.00637, 0.008042, 0.00762, 0, 1 uses cd=-1 for unknown cd
- class pyNastran.op2.result_objects.table_object.TableArray(data_code, is_sort1, isubcase, dt)[source]
Bases:
ScalarObject
- Base class for:
RealTableArray
ComplexTableArray
- property headers: list[str]
- pyNastran.op2.result_objects.table_object.append_sort1_sort2(data1, data2, to_sort1=True)[source]
data1 : (ntimes, nnids, 6) data2 : (nnids, ntimes, 6)
- pyNastran.op2.result_objects.table_object.oug_data_code(table_name, is_real: bool = False, is_complex: bool = False, is_sort1=True, is_random=False, random_code=0, title='', subtitle='', label='', is_msc=True)[source]
- pyNastran.op2.result_objects.table_object.pandas_extract_rows(data_frame, ugridtype_str, index_names)[source]
removes the t2-t6 for S and E points