Skip to content

Add file-like interface to Material for openmc Evaluation compatibility#40

Closed
shimwell wants to merge 1 commit into
paulromano:mainfrom
shimwell:fixing-material
Closed

Add file-like interface to Material for openmc Evaluation compatibility#40
shimwell wants to merge 1 commit into
paulromano:mainfrom
shimwell:fixing-material

Conversation

@shimwell

Copy link
Copy Markdown
Contributor

this change fixes issue #39 for me.

openmc.data.endf imports get_materials as get_evaluations, so code that calls get_evaluations() receives Material objects.

However, openmc.data.IncidentPhoton.from_endf() only recognizes its own Evaluation type via isinstance, and falls back to Evaluation(obj) which expects a file-like object. This fails with AttributeError: 'Material' object has no attribute 'tell'.

This PR adds tell(), readline(), and seek() methods to Material that delegate to a lazily-built StringIO reconstructing valid ENDF text from section_text. This allows Material to be passed anywhere a file-like ENDF source is expected.

@shimwell

Copy link
Copy Markdown
Contributor Author

this issue #39 surfaced again today, any chance of merging this

@paulromano

Copy link
Copy Markdown
Owner

Closing since openmc-dev/openmc#3932 was merged

@paulromano paulromano closed this Jun 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants