How to Convert TMESH Data to Text Files in MCNP6 Using Python"

  • Thread starter Thread starter rai915
  • Start date Start date
  • Tags Tags
    Mcnp6 Python
AI Thread Summary
The discussion focuses on converting unformatted binary mdata from the tmesh option in MCNP6 to a text file using Python. The user initially struggled with GRIDCONV due to its interactive nature and sought alternatives like scipy.io.Fortrunfile but faced issues with output settings. Suggestions included generating an mctal file, but the user clarified their need for mdata specifically. A workaround was proposed for Linux users to automate GRIDCONV using a script, and the user ultimately found a solution using the pexpect library to control GRIDCONV interactively. This highlights the challenges and solutions in handling MCNP6 data formats programmatically.
rai915
Messages
3
Reaction score
2
I would like to analyse mdata of tmesh in MCNP6 by python, but I am struggling how to convert mdata (unformatted binary) to any text file in python.
I used GRIDCONV but it's not suitable for automations.

I also used scipy.io.Fortrunfile but could not convert the file because I was not sure fortrun setting for output, like endians.
 
Engineering news on Phys.org
Welcome to PF!

Are you also generating a mctal file and does this not have what you need as text when you do a tmesh?

If the data is right https://github.com/ipostuma/MCNPtools might help to plot what you want.
 
Alex A said:
Welcome to PF!

Are you also generating a mctal file and does this not have what you need as text when you do a tmesh?

If the data is right https://github.com/ipostuma/MCNPtools might help to plot what you want.
Thank you for the reply, but I want to have MDATA generated by tmesh option, not mctal.
MDATA is the tmesh tally data, with unformatted binary.
 
I'm assuming the reason you don't want to use gridconv is because it's interactive. What OS are you using?

For linux if you made a program that printed
Code:
y
mdatatext
and ran it with program.py | gridconv
That would take a binary format file called mdata and convert it to a text file called mdatatext
That is three enters, y(enter), mdatatext(enter), and two enters. This is for an older version but if it's changed I imagine it won't be much.

Patching the source would also work, if you don't have the source patching the binary will also work.
 
Thank you Alex, I solved it to control interactive GUIDCONV by pexpect:)
 
  • Like
Likes zhj2024 and Alex A
Hello everyone, I am currently working on a burnup calculation for a fuel assembly with repeated geometric structures using MCNP6. I have defined two materials (Material 1 and Material 2) which are actually the same material but located in different positions. However, after running the calculation with the BURN card, I am encountering an issue where all burnup information(power fraction(Initial input is 1,but output file is 0), burnup, mass, etc.) for Material 2 is zero, while Material 1...
Back
Top