How to read a .f06 file in MATLAB ?

54 vues (au cours des 30 derniers jours)
Abhimanyu  Kashyap
Abhimanyu Kashyap le 2 Mai 2013
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

Réponse acceptée

José-Luis
José-Luis le 2 Mai 2013
Modifié(e) : José-Luis le 3 Mai 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 commentaires
Abhimanyu  Kashyap
Abhimanyu Kashyap le 3 Mai 2013
Modifié(e) : Abhimanyu Kashyap le 3 Mai 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 le 5 Juil 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?

Connectez-vous pour commenter.

Plus de réponses (2)

Kaveh Gharibi
Kaveh Gharibi le 25 Avr 2017
Modifié(e) : Kaveh Gharibi le 25 Avr 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.
  3 commentaires
Daniele Pecorella
Daniele Pecorella le 21 Déc 2021
Daniele Pecorella
Daniele Pecorella le 21 Déc 2021
Goodmorning, I would be interested too if you could share the code. Thank you

Connectez-vous pour commenter.


M. F.
M. F. le 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

Catégories

En savoir plus sur Large Files and Big Data dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by