mni.result

Classes

mni.result.MetaData

class mni.result.MetaData

Bases: mni.mixin.Entity

MetaData Describes the meta data for a single results case.

Syntax:
  • Brief explanation of the syntax…

Detailed Description:
  • Detailed explanation of the function and how it works…

See also:

References

[1]. MSC.Nastran Getting Started Guide

Author : Christopher Szczyglowski Email : chris.szczyglowski@gmail.com Timestamp : 14-May-2020 22:52:45

Copyright (c) 2020 Christopher Szczyglowski All Rights Reserved

Revision: 1.0 14-May-2020 22:52:45
  • Initial function:

<end_of_pre_formatted_H1>

Property Summary
AFPM
AnalysisNumber
AvailableResultsTypes
DesignCycle
EigImaginary
Eigenvalue
INSTANCE
MODULE
Mode
Random
ResultsType
Step
SubcaseNumber
SuperElementNumber
TRMC
Time_Freq_EigReal
Method Summary
assignH5ResultsData(filename, groupset)

assignH5ResultsData Assigns the domain data to each object and returns the results data and the bounds for indexing.

We cannot do the results data assignment here as there is not an exact match between the object properties and the fieldnames in the H5 file.

mni.result.Nodal

class mni.result.Nodal

Bases: mni.result.MetaData

Nodal Describes a results quantity which is defined in all six degrees of freedom of a Node.

Syntax:
  • Brief explanation of the syntax…

Detailed Description:
  • Detailed explanation of the function and how it works…

See also:

References:

[1]. MSC.Nastran Getting Started User Guide.

Author : Christopher Szczyglowski Email : chris.szczyglowski@gmail.com Timestamp : 14-May-2020 22:51:00

Copyright (c) 2020 Christopher Szczyglowski All Rights Reserved

Revision: 1.0 14-May-2020 22:51:00
  • Initial function:

<end_of_pre_formatted_H1>

Property Summary
BasicRotation

Rotation in the MSC.Nastran Basic coordinate system

BasicTranslation

Translation in the MSC.Nastran Basic coordinate system

ID

ID number of the node

Rotation

Rotation of the node in the local coordinate system

Translation

Translation of the node in the local coordinate system

Method Summary
assignH5ResultsData(filename, groupset)
convertToBasic(FEModel)

convertToBasic Converts any nodal results quantities from the local coordinate system into the basic coordinate system.

TODO - Add logger here to show progress of transforming coordinate systems.

drawElement(hAx, FEModel)

TODO - Need an option to draw a new graphics object or select existing graphics data and update (X,Y,Z) data

mni.result.ResultSet

class mni.result.ResultSet

Bases: mni.mixin.Collector

ResultSet Collector for results objects.

See also: mni.mixin.Collector

Property Summary
ResultNames

Name of the result sets attached to this object

Method Summary
processResultsData(FEModel)

mni.result.f06

class mni.result.f06

F06 Summary of this class goes here Detailed explanation goes here

Constructor Summary
f06(filepath)

F06 Construct an instance of this class if filepathhas not been supplied it will open a filedialog

Property Summary
filepath
Method Summary
isEmpty()

CHECK_F06 : Checks for a fatal error in the .f06 file with the name ‘filename’ which is located in ‘dir_out’

  • Scans through line by line searching for the work ‘FATAL’

  • If ‘FATAL’ is found it throws out an error message and terminates the invoking matlab function

# V1 : 0930_10/08/2016

isJobFinished()

CHECK_F06 : Checks if an NASTRAN job is complete in the .f06 file with the name ‘filename’ which is located in ‘dir_out’

  • Scans through line by line searching for the work

  • If ‘* * * END OF JOB * * *’ it throws out a true message

# V1 : 0930_10/08/2016

isfatal()

CHECK_F06 : Checks for a fatal error in the .f06 file with the name ‘filename’ which is located in ‘dir_out’

  • Scans through line by line searching for the work ‘FATAL’

  • If ‘FATAL’ is found it throws out an error message and terminates the invoking matlab function

# V1 : 0930_10/08/2016

read_FRF_disp()

read_f06_FRF_disp : Reads displacements from the f06 file with the name ‘filename’ which is located in ‘dir_out’. These results have been generated using the Case Control ‘FRF’ and so only a unit load has been applied in 1 DOF at a time, this produces a very large set of results.

  • Searches .f06 file line-by-line until it finds a set of results

    -> Reads which component is being loaded -> Reads the frequency at which the results have been generated -> Reads displacements (real and complex) for all grid points

  • Finds the next set of results and repeats the process

  • Continues to scan the .f06 file until the terminating string has been found

    -> May need to tweek the terminating string depending on what

    other results have been requested

# V1 : 2055_31/10/2016

read_aeroF()

READ_F06_AEROF : Reads the aerodynamic forces from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

  • May need to tweek the function to check for different strings depending on the analysis that has been requested

# V1 : 1849_12/08/2016

read_aeroP()

READ_F06_AEROP : Reads the aerodynamic pressures from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

  • May need to tweek the function to check for different strings depending on the analysis that has been requested

# V1 : 1840_12/08/2016

read_disp()

READ_F06_DISP : Reads the displacements from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

  • May need to tweek the function to check for different strings depending on the analysis that has been requested

# V1 : 0930_10/08/2016

read_disp_complex()

READ_F06_DISP_COMPLEX : Reads the complex displacements from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

  • Searches .f06 file line-by-line until it finds a set of results

    -> Reads the frequency at which the results have been generated -> Reads displacements (real and complex) for all grid points

  • Finds the next set of results and repeats the process

  • Continues to scan the .f06 file until the terminating string has been found

    -> May need to tweek the terminating string depending on what

    other results have been requested

# V1 : 2055_31/10/2016

read_disp_dynamic()

read_f06_disp_dynamic : Reads the displacements at each timestep from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

  • May need to tweek the function to check for different strings depending on the analysis that has been requested

# V1 : 2311_13/03/2016

======================================================================= %

read_dynamic()
read_element_strain_energy()

read_f06_element_strain_energy : Reads the element strain energy from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

Inputs :
  • ‘dir_out’ : Folder path of the folder containing the .f06 file

  • ‘filename’ : Name of the .f06 file (without file extension)

Outputs :
  • ‘ElementStrainEnergy’Structure containg all of the modeshape data.
    Fields include:
    • ID : element ID

    • strainEnergy : displacements in X

    • percOfTotal : displacements in Y

    • energyDensity : displacements in Z

  • May need to tweek the function to check for different strings depending on the analysis that has been requested

# V1 : 1630_16/03/2017

======================================================================= %

read_flutter()

READ_F06_FLUTTER : Reads the flutter data from the .f06 file

Parameters :

Outputs :
  • ‘Data’Structure containg all of the Flutter Data data.
    Fields include:
    • Mode : Mode Number

    • M : Mach Number

    • RHO_RATIO : Density Ratio

    • KF : Reduced Frequency

    • V : Velocity

    • D : Damping

    • F : Frequency

    • CMPLX : Complex Number of Mode

Created: 22 Nov 2020 Modified: 02 Feb 2021

Change Log:
  • 03/02/2021 - copied from local function

  • 12/05/2021 - added additional switch to check for end of array

  • 09/06/2021 - added switch to detect the flutter method used and

    extract the data accordingly

======================================================================= %

read_flutter_eigenvector()

READ_F06_FLUTTER : Reads the flutter data from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

Inputs :
  • ‘dir_out’ : Folder path of the folder containing the .f06 file

  • ‘filename’ : Name of the .f06 file (without file extension)

Outputs :
  • ‘Data’Structure containg all of the Flutter Data data.
    Fields include:
    • Mode : Mode Number

    • M : Mach Number

    • RHO_RATIO : Density Ratio

    • KF : Reduced Frequency

    • V : Velocity

    • D : Damping

    • F : Frequency

    • CMPLX : Complex Number of Mode

Author: Fintan Healy Contact: fintan.healy@bristol.ac.uk Created: 12/05/2021 Modified: 12/05/2021

Change Log:

======================================================================= %

read_force_CBAR(dir_out, filename)

READ_F06_force_CBAR : Reads the element forces from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

  • May need to tweek the function to check for different strings depending on the analysis that has been requested

  • Valid only for models using CBAR elements

# V1 : 0930_10/08/2016

read_force_CBEAM()

READ_F06_FORCE_CBEAM : Reads the element forces from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

  • May need to tweek the function to check for different strings depending on the analysis that has been requested

  • Valid only for models using CBEAM elements

# V1 : 1130_27/09/2016

read_force_CBEAM_complex()

READ_F06_FORCE_CBEAM_COMPLEX: Reads the element forces from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

  • Searches .f06 file line-by-line until it finds a set of results

    -> Reads the frequency at which the results have been generated -> Reads element forces (real and complex) for all elements

  • Finds the next set of results and repeats the process

  • Continues to scan the .f06 file until the terminating string has been found

    -> May need to tweek the terminating string depending on what

    other results have been requested

# V1 : 2219_31/10/2016

read_force_CBEAM_dynamic()

read_f06_force_CBEAM_dynamic : Reads the element forces for every time step from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

  • May need to tweek the function to check for different strings depending on the analysis that has been requested

  • Valid only for models using CBEAM elements

# V1 : 1130_27/09/2016

======================================================================= %

read_force_CBUSH()

READ_F06_force_CBAR : Reads the element forces from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

  • May need to tweek the function to check for different strings depending on the analysis that has been requested

  • Valid only for models using CBUSH elements

# V1 : 0930_10/08/2016

read_gridpoint_kinetic_energy()

read_f06_gridpoint_kinetic_energy : Reads the grid point kinetic energy from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

Inputs :
  • ‘dir_out’ : Folder path of the folder containing the .f06 file

  • ‘filename’ : Name of the .f06 file (without file extension)

Outputs :
  • ‘GridPointKineticEnergy’Structure containg all GPKE data
    Fields include:
    • ID : element ID

    • strainEnergy : displacements in X

    • percOfTotal : displacements in Y

    • energyDensity : displacements in Z

  • May need to tweek the function to check for different strings depending on the analysis that has been requested

# V1 : 0955_17/03/2017

======================================================================= %

read_modes()

read_f06_extract_modes : Reads the mode data from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

Inputs :
  • ‘dir_out’ : Folder path of the folder containing the .f06 file

  • ‘filename’ : Name of the .f06 file (without file extension)

Outputs :
  • ‘Modes’Structure containg all of the mode data. Fields include:
    • Mode : Mode Number

    • order : order of extraction

    • eigenvalue : eigen value

    • radians : circular frequency [rad/s] –> sqrt(eig)

    • cycles : frequency [Hz] –> w/(2*pi)

    • gen_mass : modal mass

    • gen_stiff : modal stiffness

  • May need to tweek the function to check for different strings depending on the analysis that has been requested

# V1 : 1200_10/10/2016

======================================================================= %

read_modeshapes()

read_f06_extract_modeshapes : Reads the mode data from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

Inputs :
  • ‘dir_out’ : Folder path of the folder containing the .f06 file

  • ‘filename’ : Name of the .f06 file (without file extension)

Outputs :
  • ‘ModeShapes’Structure containg all of the modeshape data.
    Fields include:
    • GP : grid point ID

    • dX : displacements in X

    • dY : displacements in Y

    • dZ : displacements in Z

    • theta_x : rotation about X-axis

    • theta_y : rotation about Y-axis

    • theta_z : rotation about Z-axis

  • May need to tweek the function to check for different strings depending on the analysis that has been requested

# V1 : 1200_10/10/2016

Change Log:

  • 27/10/2016 - Added an additional string for when the mode number

    reaches double digits

======================================================================= %

read_stress_CBAR()

READ_F06_force : Reads the element stresses from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

  • May need to tweek the function to check for different strings depending on the analysis that has been requested

  • Valid only for models using CBAR elements

# V1 : 0930_10/08/2016

read_stress_CBEAM()

READ_F06_force : Reads the element stresses from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

  • May need to tweek the function to check for different strings depending on the analysis that has been requested

  • Valid only for models using CBAR elements

# V1 : 0930_10/08/2016

read_stress_CBEAM_complex()

READ_F06_STRESS_CBEAM_COMPLEX: Reads the element stresses from the .f06 file with then name ‘filename’ which is located in ‘dir_out’

  • Searches .f06 file line-by-line until it finds a set of results

    -> Reads the frequency at which the results have been generated -> Reads element stresses (real and complex) for all elements

  • Finds the next set of results and repeats the process

  • Continues to scan the .f06 file until the terminating string has been found

    -> May need to tweek the terminating string depending on what

    other results have been requested

# V1 : 2219_31/10/2016

read_trimDOFs()

READ_F06_TRIMDOFS Reads the flutter data from the .f06 file Outputs :

  • ‘Data’Structure containg all of the Trim Data.
    Fields include:
    • ID : Trim ID

    • LABEL : Trim Label (e.g. ANGLEA)

    • TYPE : Either rigid body or control surface

    • STATUS : Free / fixed / locked

    • Value : value

    • Units : string describing units

Created: 12/05/2021 Modified: 12/05/2021

Change Log:

mni.result.hdf5

class mni.result.hdf5

F06 Summary of this class goes here Detailed explanation goes here

Constructor Summary
hdf5(filepath)

F06 Construct an instance of this class if filepathhas not been supplied it will open a filedialog

Property Summary
filepath
Method Summary
read_PSDF()

read_PSDF : Desicriton here

Inputs :

Outputs :
  • ‘Data’Structure containg all of the PSDF data.
    Fields include:
    • Subcase : Subcase Number

    • f : frequencies at which PSDF is reported

    • Displacement : Displacement PSDF at requested nodes

    • BeamForce : Beam Force PSDF at end points of requested elements

    • BeamStress : Beam Stress PSDF at end points of requested elements with recovery points specified

Created: 01/08/2025 Modified: 01/08/2025

Change Log:
  • Adapted from mni.result.read_random_turbulence()

======================================================================= %

read_aero_force()

READ_DISPLACEMENTS Reads the displacements from the .h5 file Author: Fintan Healy Contact: fintan.healy@bristol.ac.uk Created: 06/03/2023 Modified: 06/03/2023

Change Log:

======================================================================= %

read_aero_pressure()

READ_DISPLACEMENTS Reads the displacements from the .h5 file Author: Fintan Healy Contact: fintan.healy@bristol.ac.uk Created: 06/03/2023 Modified: 06/03/2023

Change Log:

======================================================================= %

read_displacements()

READ_DISPLACEMENTS Reads the displacements from the .h5 file Author: Fintan Healy Contact: fintan.healy@bristol.ac.uk Created: 06/03/2023 Modified: 06/03/2023

Change Log:

======================================================================= %

read_divergence()

READ_Divergence Reads the divergence from the .h5 file Author: Fintan Healy Contact: fintan.healy@bristol.ac.uk Created: 06/03/2023 Modified: 06/03/2023

Change Log:

======================================================================= %

read_dynamic()

READ_F06_FLUTTER : Reads the flutter data from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

Inputs :
  • ‘dir_out’ : Folder path of the folder containing the .f06 file

  • ‘filename’ : Name of the .f06 file (without file extension)

Outputs :
  • ‘Data’Structure containg all of the Flutter Data data.
    Fields include:
    • Mode : Mode Number

    • M : Mach Number

    • RHO_RATIO : Density Ratio

    • KF : Reduced Frequency

    • V : Velocity

    • D : Damping

    • F : Frequency

    • CMPLX : Complex Number of Mode

Author: Fintan Healy Contact: fintan.healy@bristol.ac.uk Created: 12/05/2021 Modified: 12/05/2021

Change Log:

======================================================================= %

read_flutter_eigenvector()

READ_F06_FLUTTER : Reads the flutter data from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

Inputs :
  • ‘dir_out’ : Folder path of the folder containing the .f06 file

  • ‘filename’ : Name of the .f06 file (without file extension)

Outputs :
  • ‘Data’Structure containg all of the Flutter Data data.
    Fields include:
    • Mode : Mode Number

    • M : Mach Number

    • RHO_RATIO : Density Ratio

    • KF : Reduced Frequency

    • V : Velocity

    • D : Damping

    • F : Frequency

    • CMPLX : Complex Number of Mode

Author: Fintan Healy Contact: fintan.healy@bristol.ac.uk Created: 12/05/2021 Modified: 12/05/2021

Change Log:

======================================================================= %

read_flutter_summary()

READ_F06_FLUTTER : Reads the flutter data from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

Inputs :
  • ‘dir_out’ : Folder path of the folder containing the .f06 file

  • ‘filename’ : Name of the .f06 file (without file extension)

Outputs :
  • ‘Data’Structure containg all of the Flutter Data data.
    Fields include:
    • Mode : Mode Number

    • M : Mach Number

    • RHO_RATIO : Density Ratio

    • KF : Reduced Frequency

    • V : Velocity

    • D : Damping

    • F : Frequency

    • CMPLX : Complex Number of Mode

Author: Fintan Healy Contact: fintan.healy@bristol.ac.uk Created: 12/05/2021 Modified: 12/05/2021

Change Log:

======================================================================= %

read_force_BUSH()

read_modal_force_CBEAM Reads the modeshapes from the .h5 file

read_force_CBAR()

read_modal_force_CBEAM Reads the modeshapes from the .h5 file

read_force_CBEAM()

read_modal_force_CBEAM Reads the modeshapes from the .h5 file

read_modal_force_CBEAM()

read_modal_force_CBEAM Reads the modeshapes from the .h5 file

read_modal_force_CBUSH()

read_modal_force_CBEAM Reads the modeshapes from the .h5 file

read_modes()

READ_MODES Reads the modes from the .h5 file

read_modeshapes()

READ_MODESHAPES Reads the modeshapes from the .h5 file

read_random_turbulence()

READ_F06_FLUTTER : Reads the flutter data from the .f06 file with the name ‘filename’ which is located in ‘dir_out’

Inputs :
  • ‘dir_out’ : Folder path of the folder containing the .f06 file

  • ‘filename’ : Name of the .f06 file (without file extension)

Outputs :
  • ‘Data’Structure containg all of the Flutter Data data.
    Fields include:
    • Mode : Mode Number

    • M : Mach Number

    • RHO_RATIO : Density Ratio

    • KF : Reduced Frequency

    • V : Velocity

    • D : Damping

    • F : Frequency

    • CMPLX : Complex Number of Mode

Author: Fintan Healy Contact: fintan.healy@bristol.ac.uk Created: 12/05/2021 Modified: 12/05/2021

Change Log:

======================================================================= %

read_trim()

READ_DISPLACEMENTS Reads the displacements from the .h5 file Author: Fintan Healy Contact: fintan.healy@bristol.ac.uk Created: 06/03/2023 Modified: 06/03/2023

Change Log:

======================================================================= %

mni.result.op4

class mni.result.op4

OP4 Summary of this class goes here Detailed explanation goes here

Constructor Summary
op4(filepath)

OP4 Construct an instance of this class if filepathhas not been supplied it will open a filedialog

Property Summary
filepath
Method Summary
read_matrix()

READ_MATRIX Summary of this function goes here Detailed explanation goes here