Skip to content
Snippets Groups Projects

Add support for equations of state related to planetary physics

Merged Jacob Kegerreis requested to merge planetary into master
All threads resolved!

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.

Edited by Matthieu Schaller

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Matthieu Schaller
  • Matthieu Schaller
  • Matthieu Schaller
  • Matthieu Schaller
  • Matthieu Schaller
  • 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.

  • In general this looks like a great piece of work. :) Well done!

  • 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]);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • I have applied the code-formatting script so you will need to git pull before doing any changes.

  • Matthieu Schaller changed title from Planetary to Add support for equations of state related to planetary physics

    changed title from Planetary to Add support for equations of state related to planetary physics

  • added 1 commit

    Compare with previous version

  • added 1 commit

    Compare with previous version

  • 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 1 commit

    Compare with previous version

  • Ok. The compiler on the cosmas is quite old and not very picky. Basically, fscanf has a return value and you are ignoring it. The compiler thinks this is bad.

  • Jacob Kegerreis resolved all discussions

    resolved all discussions

  • Jacob Kegerreis added 2 commits

    added 2 commits

    Compare with previous version

  • 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.

    Compare with previous version

  • I 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)

  • Please register or sign in to reply
    Loading