Announcements

The Autodesk Community Forums has a new look. Read more about what's changed on the Community Announcements board.

read binary results file (FNO) with a program

AstroJohnPE
Advisor

read binary results file (FNO) with a program

AstroJohnPE
Advisor
Advisor

Hi,

 

The results of a Nastran analysis are written to a binary file (the .FNO file). Do any users have a program to read the binary results file (.FNO) that they would be willing to share with the group? It could be a simple program that just converts the file to a text format, or a more sophisticated program that converts selected parts of the results file and/or does manipulations on the data.

 

For example, imagine a transient response analysis with 100 time steps.  It is tedious to review all of the results manually. A program would more quickly allow these types of things to be done:

  • find the highest stress at each time step.
  • find all of the nodes or elements with stresses above some value for each time step
  • sum the reaction force at the constraints at each time step.

Before I start work on such a program, I thought that I would ask first. (Also posting to the Nastran forum. Reply to either forum πŸ™‚)

 

John

 

2025 Jan 2. This post has been updated to attach the latest, FNO Reader version 1.84

 

Reply
12,621 Views
50 Replies
Replies (50)

Anonymous
Not applicable

Are you aware of the output options Punch and Print to generate text files?

 

190912-NasPunchPrint.png

 

 

0 Likes

AstroJohnPE
Advisor
Advisor

Thanks for the idea Michael. That would be one option.

 

There is also a parameter RsltFileType that can be used to output results to a text file (in various formats). These might be helpful in some cases. However, the chosen format for RsltFileType replaces the FNO file, so if you use a different format and do not create the FNO file, you cannot view the contour results in InCAD/Inventor Nastran.

 

Here are some reasons I want to work directly with the FNO file:

  • In theory, it is faster to access the data in binary format compared to text format if you only need to access a subset of the result.
  • If you stop an analysis when doing a nonlinear static or transient analysis (or if it crashes), the FNO files are the for the individual time steps are not merged together. This makes it inconvenient to look at the results that are created. You need to load one file, look at the results, load the next file, etc. And you cannot create an XY plot. If I could read the FNO file, I could write a program to merge the individual time steps into one FNO file. That would make it easier to view the results and create XY plots.
  • Using the principle of linear superposition, it is theoretically possible to create new combinations of results and view them. This would be very powerful.

 

0 Likes

AstroJohnPE
Advisor
Advisor

This project is taking a lot longer than I had hoped. But I at least have a preliminary version (FNO Reader ver 0.65  attached) that does the following things:

  1. Converts the results file to a text file, with options to choose which subcase and result type to output. (Once you have a text file, you can do a lot of things with the data.)
  2. Compare two results file to calculate the maximum difference for each result, the average difference, and so on. (This may not be too useful in practice, but I was using it while creating the program to confirm that things were working.)
  3. Combine the individual step results (analysis0001.fno, analysis0002.fno, ...) when you stop a nonlinear or transient analysis.

Let me know if you find it useful.

 

@Anonymous. I see you were encountering a problem with the GPSTRAIN in the PCH file. I did not test this, but if the data is correct in the FNO file, my program would extract that data to a text file (either CSV or TXT) from which you could do your work.

 

John

Anonymous
Not applicable

Hi John, indeed there are .PCH file problems in Inventor NASTRAN 2020. For my purposes, I was able to parse the .OUT file in Python, which ends up running quickly enough for my purposes; I'm pretty happy with it for this project.

 

Downsides to that approach:

  • My program was only intended for linear static analysis, so it is somewhat simplified compared to your case
  • It's excruciatingly slow to write the ASCII output files compared to the default .FNO (on my computer, with SSD, i5-9500, 8GB RAM - a relatively light workstation - it took three times longer to write those files than to run the geometry module and the solver. At the end of the day, the parser was quicker than any of those steps, even when generating ~100 surface plots.)

So your speed improvements might be more on the NASTRAN side (quicker .FNO write) than in the parser.

0 Likes

AstroJohnPE
Advisor
Advisor

I am pleased to release the next version of my FNO Reader (version 1.00). The new capabilities include the following:

 

  1. Convert a text file to an FNO file. This lets you can create your own results and display the results in Inventor Nastran! Some results that I have been creating and displaying are the stretch of truss elements (strain * length of the element) and which nodes are bonded by manual or solver contact. (After I get more experience, I will make a dedicated program for the node bonded display.) The possibilities are limited only by your imagination and willingness to do the calculations.
  2. Ability to save and retrieve the input for FNO Reader. This is handy if you run an analysis, run FNO Reader, change something in the model and re-run the analysis, and repeat FNO Reader.
  3. Added additional filters for limiting what results are output when you convert an FNO file to a text file.
  4. You can specify the column separator (comma, tab, etc) when creating a text file. This is handy for those regions of the world where a comma is used for the decimal symbol instead of the period.

For sake of completeness, here are the other functionalities of FNO Reader:

  1. Converts the results file to a text file, with options to choose which subcase and result type to output. (Once you have a text file, you can do a lot of things with the data.)
  2. Compare two results file to calculate the maximum difference for each result, the average difference, and so on. 
  3. Combine the individual step results (analysis0001.fno, analysis0002.fno, ...) when you stop a nonlinear or transient analysis.

Let me know if you find it useful.

 

John.

Roelof.Feijen
Advisor
Advisor

Hello John,

 

I used your FNO Reader today to get the total heat power leaving a heat sink.

First I found this topic, but creating an XY plot from a lot of elements can be time consuming.

Your FNO Reader came in handy today when solving a customer question.

 

Nice job πŸ˜€

Roelof Feijen

If my post answers your question, please click the "Accept Solution" button. This helps everyone find answers more quickly!
0 Likes

Anonymous
Not applicable

Hi John,

 

Thanks for posting your program! I've given it a run and it seems to work very well; that's a beautiful GUI and manual that you produced for it. Really nice that you can choose which variables you need from the .FNO, saves a lot of time and disk space compared to transferring the entire dataset.

 

One comment - it doesn't seem to capture strain outputs, despite e.g. GPSTRAIN(PRINT)=ALL and an observed increase in file size of the .FNO compared to its size without that tag. Does it automatically discover the contents of the .FNO, or is there some pre-defined list of data it looks for? (My apologies if I missed a section in the manual.) Might be worth an add if it's easy, otherwise the data is available in the .OUT file, so it's not killing me πŸ™‚

 

P.S. - In case a Googler stumbles along this in the future, I'd like to amend my earlier comment; the ASCII output (switch RSLTFILETYPE to FEMAPASCII) takes ages, but generating the .OUT file doesn't. (Benchmark: with 1.3 million nodes, total 46 minutes for FEMAPASCII (.NEU) + "PUNCH" output setting on GPSTRESS and GPSTRAIN, compared to 13 minutes for FEMAPBINARY (.FNO) + "PRINT" output setting. [Neither "PUNCH" nor FEMAPASCII are required to generate the .OUT file, if you need to parse that file.] It's another 3 minutes quicker if you leave out the GPSTRESS and GPSTRAIN tags altogether.)

0 Likes

AstroJohnPE
Advisor
Advisor

Thanks @Anonymous 

 

Regarding the GPSTRAIN output (grid point strain), it should be detected. FNO Reader automatically detects the contents of the file (based on the record type); it does not list only results that it knows. Is it possible that it does list the GPSTRAIN, but it is hard "to see" because it just looks like any other result? Here is the output for a test model that I ran. The difference between the GPSTRAIN and the other results in the file are:

  1. The ID numbers. The GPSTRAIN begin with [690], [691], and so on.
  2. The output location is (nodal) instead of (corner) or (centroid).

FNO Reader showing grid point strain resultsFNO Reader showing grid point strain results

 

I ran my model with and without the GPSTRAIN output, and the number of lines written to the header and results file (-HDR and -RSLT, respectivly) increased in the analysis with the GPSTRAIN output, so I do think it is there!

 

Please let me know what you find out. If it does not appear in your results, I will create a shared folder for you to upload the FNO file for me.

 

John

AstroJohnPE
Advisor
Advisor

Unrelated to mwa26's recent post, I was in the process of testing a new version. The newest version 1.14 of FNO Reader is attached (FNO Reader ver 1.14.zip).

 

The short description of the changes are as follows:

  1. All information in the FNO file can be read. (Earlier versions did not provide full support for contact data and did not provide any support for XY Data.)
  2. Added a Cancel button to stop writing the output in case you want to abort a long transfer.
  3. Workflow Compare two FNO files. Fixed a problem related to the subcase. The step value (such as the frequency in a modal analysis or time step in a transient analysis) was intended to be compared. That was not working. It now works, and the comparison will stop if the values differ by more than 1%.
  4. Workflow Compare two FNO files can now compare a file with single precision results to a file with double precision results. 
  5. In addition to the two examples/tutorials that were included in the documentation, new examples show how to do the following:
    1. Create a custom result that can be displayed in Inventor Nastran.
    2. Add units to the contour result of an explicit analysis. (Inspired by @VidyakinA post Units in results of explicit dynamic analysis.)
    3. Display what nodes are bonded when using bonded contact. (Inspired by @daniel_luescher post Bonded Contact Status.)
  6. Several other "minor" changes to the program and 17 additional pages in the documentation!

(More details on the update are included in the documentation.)

 

John.

Anonymous
Not applicable

Hi John,

 

You're quite right; thanks for looking into it! I'm not sure what has changed (or indeed if I was just misclicking), but I see the GPSTRAIN entries now, labelled as you identified.

 

And cheers on the latest release! This would be a great addition to the Inventor NASTRAN interface.

 

Best,

mwa26

0 Likes

Roelof.Feijen
Advisor
Advisor

Hello John,

 

It looks like there is a limit in the file size the FNO Reader can handle.

If the FNO file exceeds the 2GB it gives me an error.

2020-05-23 20_06_02-Nastran FNO Reader 1.14  (page 1).png

I know I can limit the output of results, but sometimes you don't know in advance what you will and will not use as a result.

It would be great if you could fix this in a future release πŸ˜‰

Roelof Feijen

If my post answers your question, please click the "Accept Solution" button. This helps everyone find answers more quickly!
0 Likes

AstroJohnPE
Advisor
Advisor

Thanks for reporting the problem Roelof. Your hypothesis that it was a 2 GB file size limitation was correct. Version 1.17 is attached and fixes that problem.

 

I also made one other small change to this version. If you were to

  • output the text files (workflow Convert binary result file to text),
  • and edit the header file (-HDR) with Excel, Excel would change the date in the solver header. So instead of the proper format of mm/dd/yy, Excel would change it to mm/dd/yyyy or whatever format Windows uses for the date.
  • If you then converted the text file to the results file (workflow Convert text file to binary), the format would be wrong in the FNO file. (The date tells Inventor Nastran that the results file matches the model. If there is a discrepancy, a "!" symbol would appear next to the Results branch.)
  • Instead of relying on the user to detect and correct this change, FNO Reader now detects it and corrects it.

 

John

AstroJohnPE
Advisor
Advisor

Attached is a new version: FNO Reader: version 1.22.

 

The new version will convert selected cards (or commands) in a Nastran file (.nas) to a text file, and from a text file back to the Nastran format.

 

There are a number of reasons to do this type of workflow. For example,

  • Error and warning messages often refer to GRID numbers (node numbers). It is not so easy to read the GRID cards in the Nastran file itself because the default is to write the node coordinates using 16 characters. A quick translation to text and opening the file with Excel makes it easier to locate the node numbers and read the coordinates.
  • By editing the Nastran file, you can do things that Inventor Nastran does not support. For example,
    • creating different initial temperatures for a heat transfer analysis. (@Anonymous had a recent post about this. See Different uniform temperature initial conditions in heat transfer analysis.) The help documentation for FNO Reader has an example that is similar: transferring temperatures from a steady state heat transfer analysis to the initial temperatures of a transient heat transfer analysis.
    • creating loads that are a function of the node coordinates. (This technique involves applying a dummy load to the model,  then outputting the GRID cards and a dummy load to a text file. Use Excel to calculate the real load based on the node number of the dummy load and the coordinates of the nodes. Then transfer the real calculated load back to the Nastran format and replace the load cards in the original file.)
    • Summing results from specific faces, such as the total contact force on a face. You can get the forces from all contact faces from the FNO file (using the workflow Convert binary result file (FNO) to text), and you can determine which nodes in particular are on a given contact face from the Nastran file (by converting the BSSEG card using the workflow Convert Nastran file (NAS) to text). Hmmm, maybe I should add this as an example to the documentation.

Although the changes in this version have nothing to do with reading FNO files, I am not going to change the name of the program or create a separate program. πŸ˜Š. These changes will be handy for a later version of FNO Reader, so stay tuned to this post.

 

Let me know if there are any questions.

 

John

AstroJohnPE
Advisor
Advisor

Attached is a new version: FNO Reader ver 1.46.

 

This is the version that you has been waiting for, whether you realize it or not. πŸ˜€ Version 1.46 makes it much easier to extract the results that you want from the locations you want. It does this by getting the locations (either the nodes or elements) from the Nastran file,  and then extracts the results using those locations. The new option is "FNO to Table: Convert binary result file (FNO) to text (table).  Earlier versions of FNO Reader would only output the selected results for all locations.

 

Second, it provides a more compact table of output that can be customized.

 

Third, some simple math can be performed on the extracted results, such as sum, average, maximum value, minimum value, and so on.

 

  • For example, imagine you want the sum of the reaction forces from the constraints, for all time steps in an explicit dynamics analysis. Using the new workflow FNO to Table, indicate to output all steps, indicate to output the 3 reaction forces, and indicate to sum the results from the nodes with a constraint. The output file can be opened in Excel and easily graphed. Done. (The same thing can be done with earlier versions, but it requires a lot of work to manipulate the output: get the nodes of interest from the long list, sum the results, etc.)
  • For example, imagine you want the contact force between two parts. Using the workflow FNO to Table, indicate to output the 3 contact forces, and indicate to sum the results from the nodes on one side of the contact. Done. (The Nastran file knows what nodes are used for the contact, so FNO Reader reads that data to get the node numbers. If you were to sum the results from both sides of the contact, those are equal and opposite and sum to zero. Thus, you need to know which nodes to use, and FNO Reader makes that easier.)
  • One of the new examples in the documentation uses the above method to extract the contact force so that the weld can be sized. Using the workflow NAS to Text provided in the previous version of FNO Reader makes it easy to get the coordinates of the nodes so that the contact forces can be used to calculate the equivalent moment in the weld. 
  • For example, you want the axial force in all of the bolt connectors. Bolts are analyzed as beam elements with specific properties. So indicate you want the axial force from all of the beam elements with specified property IDs. Done.
  • For example, the maximum (or minimum) temperature from a heat transfer analysis can be extracted and plotted. Done. (If I remember correctly, the XY Plot in Inventor Nastran includes the temperature in the boundary conditions to determine the max or min, and that is normally not of interest.)
  • The list goes on. 

P.S. If you like my program, please click the "Like" button on the forum post. Thanks.

 

John

sigurd.naess
Advocate
Advocate

Great program @AstroJohnPE  πŸ™‚ 

 

Maybe I missed it, but is it possible to output the node number of e.g. the maximum von mises stress for each increment in a non-linear analysis. So that I can see if the location changes between increments. 

 

In the picture below the nodes are identified as "maximum" 

 

node number.PNG

 

Regards
Sigurd

0 Likes

AstroJohnPE
Advisor
Advisor

Hi @sigurd.naess 

 

You did not miss it. The "FNO to Table" workflow does not output the node number where the maximum occurs. That would be a good suggestion.

 

You can get similar results and the node number by using the workflow "FNO to List".  Indicate to output all of the subcases (same as before) and the result [101] (same as before). When specifying the output, just output the header data (-HDR file). The last few columns of that output gives the max and min values and the corresponding node numbers for each subcase. The output is not as compact, but at least it has the information you want.

 

John

sigurd.naess
Advocate
Advocate

Hi again @AstroJohnPE !

 

I've been playing around with the FNO reader πŸ™‚ 

 

I have a large model (1mill nodes), with two parts; one solid (pressure vessel) and one shell (simple plate to support and avoid artificial stress due constraints). 

 

I want to extract some incremental data for a couple of nodes that I have found using the method you suggested before. However, when using the "FNO to Table" option the "results to output - Nodal" do not show the available output for Solid elements. The Shell nodal output is available. 

 

The FNO file is 19.5GB πŸ˜… And I have run the model with both GPSTRESS(PUNCH) = ALL  and GPSTRAIN(PUNCH) = ALL

 

Can you think of a reason why the Solid elements are unavailable?


Regards
Sigurd

 

nas file.PNG

 

No Solid resultsNo Solid results

 

 

0 Likes

John_Holtz
Autodesk Support
Autodesk Support

Hi @sigurd.naess 

 

This looks like an issue with the Nastran solver. When I created a test model that only included solids, the stress appeared for the nodes (as it should). When I added a shell part, the stress only appeared for the shells.

 

Since it is only a few nodes, you have a couple of options.

  • Use the stress at the centroid. Depending on the mesh size and stress gradient, the centroid stress may be less than at the nodes.
  • Output the results at the element corners for the elements attached to the nodes. Then manually calculate the average stress at the node from all of the elements connected to it.

 



John Holtz, P.E.

Global Product Support
Autodesk, Inc.


If not provided already, be sure to indicate the version of Inventor Nastran you are using!

"The knowledge you seek is at knowledge.autodesk.com" - Confucius πŸ˜‰
0 Likes

ambrose
Advocate
Advocate

Hi @AstroJohnPE 

Thank you so much for making FNO reader. I was wondering if you would consider making it open source? It seems like it deserves a github/gitlab site to help people find it and let it survive if you no longer have the time/interest. I'm also guessing that your code would make a good basis for anyone writing a direct Paraview or Visit plugin. If that sounds like a good idea I would be happy to help where I can.