MATLAB Answers

How to read a .f06 file in MATLAB ?

20 views (last 30 days)
Hi there, I am trying to couple NASTRAN and MATLAB to run itiratively. I am using ! bang for running a batch .bat file which inturn runs the specified .bdf file in NASTRAN. Now, my problem is reading the required deflection and forces data from the nastran output .f06 file back into MATLAB. I am able to read the whole file with all that messy huge data. But I am not able to sort out only required numerical data from the huge data of strings n unwanted numbers.
kind help will be much appreciated.
Thanks

  0 Comments

Sign in to comment.

Accepted Answer

José-Luis
José-Luis on 2 May 2013
Edited: José-Luis on 3 May 2013
From the .f06 file description:
This is the main Nastran output file. It contains
the results of your analysis such as displacements
and stresses. It is in ASCII format so it can be
viewed in any text editor. It also contains
warning messages, error messages, and diagnostic
messages to help the user evaluate the quality of
the analysis results.
It is a text file that could be opened with textscan(), importdata(), and the like. What function are you using? From your post I am guessing you are reading it as binary data. Another possibility is that the text file and Matlab are using different encodings, so you could check for that.
I have never worked with Nastran, but I imagine that there will be some structure to how the text data is stored. Then you would need to pass the proper arguments to your import function.
If your question is how can I automagically import .f06 data to Matlab then then answer is you can't (as far as I know, but you could always look in the file exchange). I am afraid some effort might be required.

  2 Comments

Abhimanyu  Kashyap
Abhimanyu Kashyap on 3 May 2013
Thanks u very much Jose-Luis.. I have been able to import the NASTRAN output f06 file. That file generally has huge information including lots of strings and numbers. As you said, it is taking quite a bit of effort.. Anyway let me try with textscan and importdata again.. The problem I am facing is I dont know how to read only specific numbers which are at known line numbers or locations. Can we read only a few specific lines using aforementioned import or scan commands in matlab ?? that is, for example, if the txt file has say some 200 lines, I want to read only lines 160 to 165 ?? Is it possible ??
Dave
Dave on 5 Jul 2014
could you please describe how you were able to solve your stated problem (reading an .f06 file in MATLAB), so others can learn from it?

Sign in to comment.

More Answers (2)

Kaveh Gharibi
Kaveh Gharibi on 25 Apr 2017
Edited: Kaveh Gharibi on 25 Apr 2017
I created a Matlab function that is getting the f06 and reads the data line by line in a while loop and then uses textscan() to read the displacement, stress, and other outputs and it does this automatically. Even though the geometry is changing in every iteration, it can read the f06.

  1 Comment

Eddie Arevalo
Eddie Arevalo on 4 Jan 2019
Is it possible for you to share the code?

Sign in to comment.


M. F.
M. F. on 1 Oct 2015
Use the nastran .pch instead of the .f06, the output data is more structured and easier to read. Otherwise, PYnastran could be of help to directly read in the binary .op2 file.
Regards, Matthias

  0 Comments

Sign in to comment.

Sign in to answer this question.