Skip to content

Commit

Permalink
Merge pull request #32 from giganano/v1.3.x-patch
Browse files Browse the repository at this point in the history
V1.3.1 patch
  • Loading branch information
giganano committed Oct 24, 2023
2 parents ad69c66 + 7d8ca71 commit fbf583a
Show file tree
Hide file tree
Showing 65 changed files with 1,876 additions and 1,508 deletions.
14 changes: 8 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@ jobs:
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest", "macos-10.15"]
os: ["ubuntu-latest", "macos-latest"]
compiler: [gcc-10, clang]
python-version:
- "3.6"
- "3.7"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"

exclude:

# Mac OS builds run with clang only
- os: "macos-10.15"
- os: "macos-latest"
compiler: gcc-10

# Ubuntu builds run with gcc only
Expand All @@ -42,11 +42,13 @@ jobs:
with:
python-version: ${{ matrix.python-version }}

# compile-time dependency versions reflect those in setup.py
- name: Install Dependencies
shell: bash
run: |
python -m pip install --upgrade pip
python -m pip install cython>=0.29.21
python -m pip install setuptools>=18.0
python -m pip install Cython>=3.0
- name: Display Environment Variables
shell: bash
Expand All @@ -63,7 +65,7 @@ jobs:
shell: bash
run: |
make CC=$COMPILER
python setup.py build install --quiet
python -m pip install . -v
make clean
- name: Tests
Expand Down
25 changes: 25 additions & 0 deletions changelog.rst.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,29 @@

1.3.1
=====
- ``vice.multizone``
Enforces each zone to run in the same mode (related to the handling of
inflow metallicites; see below).

- ``vice.singlezone`` and ``vice.multizone``
- Handles non-zero inflow metallicities in a more stable way. Unit tests
search for numerical artifacts in "sudden event" evolutionary histories
exhibiting bursts in star formation.

- Includes primordial metallicity component in the reported total abundance
in accreting gas at each timestep.

- ``vice.dataframe``
Fixed issues with inheritance structure affecting recent versions of
python (3.11 and 3.12)

- ``vice.yields.ccsne.fractional``
- Subtracts the remnant mass from the initial mass in computing net yields
from the tables containing gross yields. A small correction for metals,
the difference is significant for helium.

- Fixed callback objects to be compatible with Cython>=3.0.

1.3.0
=====
- ``vice.mlr``
Expand Down
2 changes: 1 addition & 1 deletion docs/src/cover.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
\end{figure}
\underline{\LARGE \textbf{Versatile Integrator for Chemical Evolution}}
\par
{\Large \textbf{Version 1.3.0}}
{\Large \textbf{Version 1.3.1}}
\end{center}
63 changes: 35 additions & 28 deletions docs/src/developers/contributors.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,51 +7,58 @@ Contributors
James W. Johnson
----------------
| **Lead Developer** and **License Owner** (Spring 2018 - Present)
| Email: giganano9@gmail.com johnson.7419@buckeyemail.osu.edu
| Webiste: https://sites.google.com/view/jameswjohnson/
| Email: jjohnson10@carnegiescience.edu giganano9@gmail.com
| Webiste: https://jamesjohnson.space
| The Observatories of the Carnegie Institution for Science
| 813 Santa Barbara St., Pasadena, CA, 91101, USA
Liam Dubay
----------
| **Contributing Developer** (Fall 2021 - Present)
| Email: dubay.11@buckeyemail.osu.edu
| Website: https://www.liamdubay.com/
| The Ohio State University Department of Astronomy
| 140 W. 18th Ave., Columbus, OH, 43204
| 140 W. 18th Ave., Columbus, OH, 43204, USA
Emily J. Griffith
-----------------
| **Contributing Developer** (Summer 2020 - Present)
| Email: griffith.802@buckeyemail.osu.edu
| Email: Emily.Griffith-1@colorado.edu
| Website: https://www.emilyjgriffith.com
| The Ohio State University Department of Astronomy
| 140 W. 18th Ave., Columbus, OH, 43204
| University of Colorado Boulder Department of Astrophysical and Planetary Sciences
| 389 UCB, Boulder, CO, 80309, USA
John W. Bredall
---------------
| **Contributing Developer** (Fall 2021 - Present)
| Email: bredall.1@buckeyemail.osu.edu
| Website: https://u.osu.edu/jbredall/
Ari Bredall
-----------
| **Contributing Developer** (Fall 2021 - Summer 2023)
| Website: https://abredall.github.io/
| The Ohio State University Department of Astronomy
| 140 W. 18th Ave., Columbus, OH, 43204
| 140 W. 18th Ave., Columbus, OH, 43204, USA
David H. Weinberg
-----------------
| **Advising Developer** (Spring 2018 - Present)
| **Advising Developer** (Spring 2018 - Summer 2023)
| Website: http://www.astronomy.ohio-state.edu/~dhw/
| The Ohio State University Department of Astronomy
| 140 W. 18th Ave., Columbus, OH, 43204
| 140 W. 18th Ave., Columbus, OH, 43204, USA
Fiorenzo Vincenzo
-----------------
| **Advising Developer** (Spring 2019 - Present)
| Website: https://ccapp.osu.edu/people/vincenzo.3
| The Ohio State University Center for Cosmology and Astroparticle Physics
| 191 West Woodruff Ave., Columbus, OH, 43210
Jennifer A. Johnson
-------------------
| **Advising Developer** (Summer 2020 - Summer 2023)
| Website: http://www.astronomy.ohio-state.edu/~jaj/
| The Ohio State University Department of Astronomy
| 140 W. 18th Ave., Columbus, OH, 43204, USA
Jonathan C. Bird
----------------
| **Advising Developer** (Spring 2019 - Present)
| **Advising Developer** (Spring 2019 - Spring 2022)
| Website: http://vpac00.phy.vanderbilt.edu/~birdjc1/
| Vanderbilt University Department of Physics & Astronomy
| 6301 Stevenson Center, 2301 Vanderbilt Place, Nasvhille, TN 37235
| 6301 Stevenson Center, 2301 Vanderbilt Place, Nasvhille, TN 37235, USA
Jennifer A. Johnson
-------------------
| **Advising Developer** (Summer 2020 - Present)
| Website: http://www.astronomy.ohio-state.edu/~jaj/
| The Ohio State University Department of Astronomy
| 140 W. 18th Ave., Columbus, OH, 43204
Fiorenzo Vincenzo
-----------------
| **Advising Developer** (Spring 2019 - Summer 2021)
| Website: https://www.hull.ac.uk/staff-directory/fiorenzo-vincenzo
| E.A. Milne Centre for Astrophysics, University of Hull
| Cottingham Road, Kingston upon Hull, HU6 7RX, United Kingdom
2 changes: 1 addition & 1 deletion docs/src/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
VICE: Versatile Integrator for Chemical Evolution
=================================================
Welcome!
This is the documentation for **VICE version 1.3.0**.
This is the documentation for **VICE version 1.3.1**.
First time users should familiarize themselves with VICE's API by going
through our `tutorial`__, which can be launched automatically by running
``python -m vice --tutorial`` from a Unix terminal after
Expand Down
29 changes: 18 additions & 11 deletions docs/src/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ do not want to use the binary using the ``--no-binary`` flag:

$ python -m pip install vice [--user] --no-binary :all:


The option ``:all:`` above tells ``pip`` to install all of the packages in the
current call to ``pip install`` without binaries; when installing multiple
packages, this value can be specified as a comma-separated list.
Expand All @@ -46,21 +45,25 @@ specifying the version number:

$ python -m pip install vice==<version number> [...]

.. _windows_note:

Designed for systems with a Unix kernel, VICE does not function within a
windows environment.
Windows users should therefore install VICE within the
`Windows Subsystem for Linux (WSL)`__.
Provided that the call to ``pip`` is ran from within WSL, the pre-compiled
binary installer from PyPI_ should install VICE properly.
We emphasize that the Anaconda prompt provided for Windows is **not** a true
Unix kernel, and therefore will fail to install and run VICE properly.
As long as the call to ``pip`` is ran from within WSL, the proper pre-compiled
binary for Linux systems provided on PyPI_ should install successfully.
A `manual installation`__ on a windows machine must also be ran within
WSL.
WSL and cannot be conducted with the Anaconda prompt.

__ WSL_
__ `Manual Installation`_
.. _WSL: https://docs.microsoft.com/en-us/windows/wsl/install-win10

For the current version, we provide pre-compiled binaries for Python_ versions
3.6-3.10 on computers with an x86_64 CPU architecture running Mac OS and Linux
3.7-3.10 on computers with an x86_64 CPU architecture running Mac OS and Linux
operating systems.
We do not provide pre-compiled binaries for CPU architectures other than x86_64.
This includes Linux computers with Aarch64 hardware as well as the new ARM64
Expand Down Expand Up @@ -159,13 +162,13 @@ While VICE does not have any primary run-time dependencies, there are a few
common compile-time dependencies that must be satisfied to install from source.
They are as follows:

1. Python_ >= 3.6
1. Python_ >= 3.7

2. setuptools_ >= 18.0

3. Make_ >= 3.81

4. gcc_ >= 4.6 or clang_ >= 3.6.0
4. gcc_ >= 4.6 or clang_ >= 3.6

On Mac OS X and Linux architectures, it is likely that Make_ and one of gcc_
or clang_ come pre-installed. Users may install with alternative C compilers
Expand Down Expand Up @@ -323,11 +326,15 @@ __ issues_

Running the setup.py File Failed
--------------------------------
`Did you run it for multiple versions of python simultaneously?`__
Alternatively,
`did you run a parallelized installation using the gcc C compiler?`__
If neither is the case, please open an issue `here`__.

`Did you attempt your installation on Windows without using WSL?`__
If not, `did you attempt the installation for multiple versions of python
simultaneously?`__
Alternatively, `did you run a parallelized installation using the gcc C
compiler?`__
If none of these solutions apply to your case, please open an issue `here`__.

__ windows_note_
__ gcc_parallel_note_
__ simultaneous_note_
__ issues_
Expand Down
20 changes: 10 additions & 10 deletions docs/src/science_documentation/yields/agb.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,10 @@ some characteristic mass in order to suppress these numerical artifacts.
In this version of VICE, users can choose between the following
nucleosynthesis studies:

- Cristallo et al. (2011, 2015) [7]_ [8]_
- Karakas (2010) [9]_
- Ventura et al. (2013) [10]_
- Karakas & Lugaro (2016) [11]_; Karakas et al. (2018) [12]_
- Cristallo et al. (2011, 2015) [8]_ [9]_
- Karakas (2010) [10]_
- Ventura et al. (2013) [11]_
- Karakas & Lugaro (2016) [12]_; Karakas et al. (2018) [13]_

Users can also read these tables in with the ``vice.yields.agb.grid`` function.

Expand All @@ -64,9 +64,9 @@ Relevant Source Code:
- ``vice/src/singlezone/agb.c``
- ``vice/yields/agb/_grid_reader.pyx``

.. [7] Cristallo et al. (2011), ApJS, 197, 17
.. [8] Cristallo et al. (2015), ApJS, 219, 40
.. [9] Karakas (2010), MNRAS, 403, 1413
.. [10] Ventura et al. (2013), MNRAS, 431, 3642
.. [11] Karakas & Lugaro (2016), ApJ, 825, 26
.. [12] Karakas et al. (2018), MNRAS, 477, 421
.. [8] Cristallo et al. (2011), ApJS, 197, 17
.. [9] Cristallo et al. (2015), ApJS, 219, 40
.. [10] Karakas (2010), MNRAS, 403, 1413
.. [11] Ventura et al. (2013), MNRAS, 431, 3642
.. [12] Karakas & Lugaro (2016), ApJ, 825, 26
.. [13] Karakas et al. (2018), MNRAS, 477, 421
30 changes: 19 additions & 11 deletions docs/src/science_documentation/yields/ccsne.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ Core Collapse Supernovae
Because core collapse supernovae (CCSNe) are assumed to occur simultaneously
with the formation of their progenitor stars [2]_, :math:`y_x^\text{CC}`
represents the total yield from all CCSNe associated with a single stellar
population. Letting :math:`m_x` denote the net mass of some element :math:`x`
present in the CCSN ejecta, the yield at a given metallicity is defined by:
population. Letting :math:`m_x` denote the mass of some element :math:`x`
present in the CCSN ejecta from a progenitor of initial mass :math:`m`, the
yield at a given metallicity is defined by:

.. math:: y_x^\text{CC} \equiv \frac{
\int_{l_\text{CC}}^u (E(m)m_x + w_x - Z_{x,\text{prog}} m)
\int_{l_\text{CC}}^u (E(m)m_x + w_x - Z_{x,\text{prog}} (m - m_\text{rem}))
\frac{dN}{dm} dm
}{
\int_l^u m \frac{dN}{dm} dm
Expand All @@ -17,16 +18,21 @@ present in the CCSN ejecta, the yield at a given metallicity is defined by:
where the numerator is taken from the minimum mass for a CCSN explosion
:math:`l_\text{CC}` to the upper mass limit of star formation :math:`u`, but
the denominator is over the entire mass range of star formation, and
:math:`dN/dm` is the stellar initial mass function (IMF). This equation is
nothing more or less than the mathematical statement of "production divided
by total initial mass."
:math:`dN/dm` is the stellar initial mass function (IMF).
The constant ``CC_MIN_STELLAR_MASS`` declares :math:`l_\text{CC} = 8 M_\odot`
in ``vice/src/ccsne.h``.
This equation is nothing more or less than the mathematical statement of "metal
production divided by total initial mass of stars."
:math:`E(m)` denotes the *explodability*: the fraction of star of mass
:math:`m` which explode as a CCSN. :math:`w_x` denotes the mass yield of the
element :math:`x` due to winds at a mass :math:`m`, and the corrective term
:math:`Z_{x,\text{prog}} m` accounts for the birth abundances of the star to
compute a *net* rather than a *gross* yield. The constant
``CC_MIN_STELLAR_MASS`` declares :math:`l_\text{CC} = 8 M_\odot` in
``vice/src/ccsne.h``.
element :math:`x` due to stellar winds at a mass :math:`m`, and the corrective
term :math:`Z_{x,\text{prog}} (m - m_\text{rem})` accounts for the mass of the
element :math:`x` in the ejecta that was present at birth, converting the
quantity from a *gross* yield to a *net* yield.
In the current version of VICE, :math:`m_\text{rem}` is assumed to always be a
1.44 :math:`M_\odot` black hole for massive stars based on Weinberg, Andrews
& Freudenburg (2017) [6]_; additional, more realistic initial-final remnant
mass relations are currently being incorporated into the code base.

In practice, supernova nucleosynthesis studies determine the value of
:math:`m_x` for of order 10 values of :math:`m` at a given metallicity and
Expand Down Expand Up @@ -111,3 +117,5 @@ Relevant Source Code:
.. [5] Salpeter (1955), ApJ, 121, 161
.. [6] Weinberg, Andrews & Freudenburg (2017), ApJ, 837, 183
4 changes: 2 additions & 2 deletions docs/src/science_documentation/yields/sneia.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Intuitively, the SN Ia yield is thus specified by the mass yield of a single
SN Ia explosion and the number of SN Ia events that occur per unit solar
mass formed.

Maoz & Mannucci (2012) [6]_ found that :math:`N_\text{Ia}/M_\star` =
Maoz & Mannucci (2012) [7]_ found that :math:`N_\text{Ia}/M_\star` =
:math:`(2 \pm 1) \times 10^{-3} M_\odot^{-1}`. That is, on average,
approximately 500 :math:`M_\odot` of stars must form for a given stellar
population to produce a single SN Ia.
Expand All @@ -49,4 +49,4 @@ Relevant Source Code:

- ``vice/yields/sneia/_yield_lookup.pyx``

.. [6] Maoz & Mannucci (2012), PASA, 29, 447
.. [7] Maoz & Mannucci (2012), PASA, 29, 447
Loading

0 comments on commit fbf583a

Please sign in to comment.