MESAHub / MESAHub/mesa

Standards for EOS return values

Open
#285 10 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Fortran
Stars
249
Forks
82
Avg merge
1d 3h
Merged PRs (30d)
3

Description

I don't know precisely what this will look like, but I'd like to propose that we figure out some standards for what the EOS is allowed to return, and say that return values that violate those conditions must raise `ierr /= 0`. This would be the job of individual EOS's to enforce, not a blend-level enforcement.

A few standards that come to mind:
1. No EOS return quantity should be NaN.
2. No negative pressures.
3. No negative sound speeds.
4. No negative adiabatic indices.

Is there anything else we want to check? We can also make a module-level test that runs a few grids of (rho, T) at different compositions as an easy way of catching these...

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the individual EOS implementations and how they report return values through ierr. Define the allowed standards for quantities such as NaN values, pressures, sound speeds, and adiabatic indices, then consider a module-level test over rho, T, and composition grids to verify that violations are reported.

Written by the indexing model from the issue text.

Assessment

Tech stack
fortran
Domain
hpc
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.