Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes from round of JOSS review #428

Merged
merged 6 commits into from
Nov 4, 2024
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added doc/sphinx/ApproxForTH.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/sphinx/GibbsOrder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/sphinx/PMGvsMGUsupPress.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/sphinx/SteinbergGammarho.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 24 additions & 5 deletions doc/sphinx/src/getting-started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,35 @@ At it's most basic, you can download and compile ``singularity-eos`` with:

git clone --recursive [email protected]:lanl/singularity-eos.git
cd singularity-eos
mkdir bin
cd bin
cmake -DSINGULARITY_FORCE_SUBMODULE_MODE=ON -DSINGULARITY_USE_FORTRAN=OFF ..
make -j
make install # optional: install into directory defined via CMAKE_INSTALL_PREFIX
cmake -B builddir -S . -DSINGULARITY_FORCE_SUBMODULE_MODE=ON -DSINGULARITY_USE_FORTRAN=OFF -DSINGULARITY_BUILD_EXAMPLES=ON -DSINGULARITY_BUILD_TESTS=ON

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that this buildidir should be build? just like the ones on line 13 and 14. I saw there was a change in name and probably that one was forgotten.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, my mistake!

cmake --build build --parallel
cmake --install build # optional: install into directory defined via CMAKE_INSTALL_PREFIX
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
cmake --build build --parallel
cmake --install build # optional: install into directory defined via CMAKE_INSTALL_PREFIX
cmake --build builddir --parallel
cmake --install builddir # optional: install into directory defined via CMAKE_INSTALL_PREFIX


This will download ``singularity-eos`` with no optional dependencies and
compile the capabilities available in that form. For more details, see
:ref:`our build page <building>`.

You can also run unit tests by calling

.. code-block::

make test

in the ``build`` directory, which should produce output confirming that
several tests pass.

Once compiled, you can quickly check your build/install by going to
``build/example`` and running ``./get_sound_speed_press``. You should be
able to see the following output:

.. code-block::

The final values are:
rho = 0.987467
uu = 0.00987467
P = 0.0059248
cs = 0.0979796

If the library is in your include and lib paths (or you built it
in-tree), you can include the ``eos`` part of the library with

Expand Down
6 changes: 3 additions & 3 deletions doc/sphinx/src/models.rst
Original file line number Diff line number Diff line change
Expand Up @@ -698,7 +698,7 @@ If the unitless user parameter :math:`b=\Gamma_0`, the Gruneisen parameter is of
form where :math:`\Gamma_0 =` constant in compression. These two limitig cases are
shown in the figure below.

.. image:: ../SteinbergGammarho.pdf
.. image:: ../SteinbergGammarho.png
:width: 500
:alt: Figure: Demonstration of how the parameter b interpolated between two common approximations for Gamma

Expand Down Expand Up @@ -978,7 +978,7 @@ The first omitted term in the expansion inside the square brackets is :math:`\Ga
in fact even better than the common approximation of replacing the full temperature on the Hugoniot with the temperature on the
isentrope, that is, the first term :math:`T_0 e^{\Gamma(\rho_0) \eta}`.

.. image:: ../ApproxForTH.pdf
.. image:: ../ApproxForTH.png
:width: 500
:alt: Figure: Different approximations for the temperature on the Hugoniot.

Expand Down Expand Up @@ -1018,7 +1018,7 @@ By expanding the MGUsup Hugoniot pressure into a power series in :math:`\eta` we

In the figure below we have used :math:`M=20` with these coefficients and show how the divergence in the MGUsup pressure at :math:`\eta = \frac{1}{s}` is avoided in the PowerMG, making it more suitable for modeling high pressures.

.. image:: ../PMGvsMGUsupPress.pdf
.. image:: ../PMGvsMGUsupPress.png
:width: 500
:alt: Figure: Comparing Hugoniot pressure for PowerMG and MGUsup

Expand Down
4 changes: 4 additions & 0 deletions doc/sphinx/src/python.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ Singularity EOS provides Python bindings which can be enabled with the CMake
``SINGULARITY_BUILD_PYTHON`` option. They provide a 1:1 mapping of the C++ EOS
types and give access to both scalar and vector functions.

Where you build or install your python bindings to must be included in
your python module search path. For example, if you do not install,
this may be ``singularity-eos/build/python``.

.. note::

At this time, all Python bindings are host-only.
Expand Down
2 changes: 1 addition & 1 deletion doc/sphinx/src/using-kpt.rst
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ transportation rate from/to phases ``fromto[k]``, with ``k`` a phase transition
in ``fromto``, "ij", is composed from the ``gibbs`` index of the "from" phase, :math:`i`, and the ``gibbs`` index of the "to" phase,
:math:`j`, as :math:`i*10+j`, and with a single digit integer, "x", interpreted as "0x".

.. image:: ../GibbsOrder.pdf
.. image:: ../GibbsOrder.png
:width: 500
:alt: Figure: How the phase transition index used in several arrays relate to the phase index in the gibbsorder array.

Expand Down
2 changes: 1 addition & 1 deletion joss-paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ knowledge to compute them as performantly as possible.

Accelerators present new challenges to standard object-oriented
programming. In particular, not all compiler stacks (such as Sycl
[@SYCL] or OpenMP Target Offload [@chandra2001parallel])
[@SYCL] or OpenMP [@chandra2001parallel] Target Offload [@openmp4])
support relocatable device code, which is required for standard C++
polymorphism. Even in programming models, such as CUDA [@cuda],
which do support relocatable device code, polymorphism can be slower
Expand Down
8 changes: 8 additions & 0 deletions joss-paper/refs.bib
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,14 @@ @book{chandra2001parallel
publisher={Morgan kaufmann}
}

@misc{openmp4,
author = {{OpenMP Architecture Review Board}},
title = {{OpenMP} Application Program Interface Version 4.0},
month = {July},
year = {2013},
url = {https://www.openmp.org/wp-content/uploads/OpenMP4.0.0.pdf}
}

@inproceedings{SYCL,
author = {Reyes, Ruyman and Brown, Gordon and Burns, Rod and Wong, Michael},
title = {SYCL 2020: More than Meets the Eye},
Expand Down
Loading