Add support for equations of state related to planetary physics
Main changes are the (pretty isolated) new hydro scheme MinimalMultiMat
and new equation of state planetary
, along with examples etc. See the wiki for more details.
Merge request reports
Activity
- Resolved by Jacob Kegerreis
- Resolved by Jacob Kegerreis
- Resolved by Jacob Kegerreis
- Resolved by Jacob Kegerreis
- Resolved by Jacob Kegerreis
- Resolved by Jacob Kegerreis
- Resolved by Jacob Kegerreis
- Resolved by Matthieu Schaller
- Resolved by Jacob Kegerreis
- Resolved by Jacob Kegerreis
- Resolved by Jacob Kegerreis
- Resolved by Jacob Kegerreis
- Resolved by Jacob Kegerreis
- Resolved by Jacob Kegerreis
- Resolved by Jacob Kegerreis
- Resolved by Jacob Kegerreis
- Resolved by Jacob Kegerreis
Finally,
testEOS
does not work out of the box if I just run with./configure
as most things it uses are not defined. That is going to be an issue for our automated suite.Could you make that test only do anything meaningful if your EoS is defined? And just an empty
main()
if not? That would allow the test to run by default.I get one error message when compiling with GCC-7:
./configure --with-hydro=minimal-multi-mat --with-equation-of-state=planetary make
leads to
In file included from ../src/./equation_of_state/planetary/equation_of_state.h:47:0, from ../src/equation_of_state.h:38, from ../src/./hydro/MinimalMultiMat/hydro_part.h:39, from ../src/part.h:66, from ../src/multipole.h:39, from ../src/cell.h:36, from ../src/active.h:26, from ../src/swift.h:26, from main.c:44: ../src/./equation_of_state/planetary/hm80.h: In function ‘load_HM80_table’: ../src/./equation_of_state/planetary/hm80.h:117:7: error: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Werror=unused-result] fscanf(f, "%f", &mat->table_P_rho_u[i][j]); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/./equation_of_state/planetary/equation_of_state.h:47:0, from ../src/equation_of_state.h:38, from ../src/./hydro/MinimalMultiMat/hydro_part.h:39, from ../src/part.h:66, from ../src/multipole.h:39, from ../src/cell.h:36, from ../src/active.h:26, from ../src/swift.h:26, from main.c:44: ../src/./equation_of_state/planetary/hm80.h: In function ‘load_HM80_table’: ../src/./equation_of_state/planetary/hm80.h:117:7: error: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Werror=unused-result] fscanf(f, "%f", &mat->table_P_rho_u[i][j]); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Re compiling:
These are the modules I've been using without errors:
Currently Loaded Modulefiles: 1) cosma/2012 14) xpdf/3.03 2) cosma6/slurm-utils 15) firefox/39.0.3 3) allinea/forge/18.0.2 16) utils/12-05-17 4) cmake/3.1.3 17) codeblocks/13.12 5) hdfview/2.13.0 18) swift 6) python/2.7.13 19) gnu_comp/c4/4.8.1 7) tkdiff/4.2 20) intel_mpi/5.1.3 8) mplayer/1.1 21) hdf5/1.8.9 9) xv/3.10a 22) fftw/3.3.4 10) sm/2_4_36 23) gsl/1.15 11) gadgetviewer/1.0.6 24) doxygen/1.8.9.1 12) gv/3.6.2 25) metis/5.1.0 13) acroread/9.5 26) swift/c4/gcc/intelmpi/5.1.3
What modules are you using? Or a better question, what are all the modules I should check for possible errors with?
added 2 commits
added 8 commits
- 5da519e5 - Code formatting and minor code fixes.
- 51f0f550 - To reduce namespace pollution: type_factor -> eos_planetary_type_factor
- f98c33ee - Add equation of state directory to the Doxygen documentation.
- abbe5b00 - Reduce global namespace pollution.
- 6a7a0c1a - Prevent the use of entropy_from_internal_energy() and remove its call from the i/o sub-module.
- 755d0e1f - Style improvements to the maths in the EoS calculations.
- eb2c18e6 - Style improvements to the master planetary EoS file.
- 9496c898 - Declare the material ID as an enum in the function arguments as well.
Toggle commit listI have made a few style improvements. Things that still need to be improved:
- The definition of the file names as constants in the source file.
- The 2D array for interpolation.
- testEOS needs some style improvements.
- You probably want two enum for the type of EoS and the material separately. That would be more clean.
mentioned in commit e04fdd9d
mentioned in issue #426 (closed)