How to read a .f06 file in MATLAB ?

50 次查看(过去 30 天)
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

采纳的回答

José-Luis
José-Luis 2013-5-2
编辑:José-Luis 2013-5-3
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 个评论
Abhimanyu  Kashyap
编辑:Abhimanyu Kashyap 2013-5-3
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 2014-7-5
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?

请先登录,再进行评论。

更多回答(2 个)

Kaveh Gharibi
Kaveh Gharibi 2017-4-25
编辑:Kaveh Gharibi 2017-4-25
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.

M. F.
M. F. 2015-10-1
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

类别

Help CenterFile Exchange 中查找有关 Large Files and Big Data 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by