Skip to content

Commit e7d2d95

Browse files
committed
Merge branch 'main' into release
2 parents d04fc0c + 6e4a93a commit e7d2d95

File tree

131 files changed

+3734
-2001
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+3734
-2001
lines changed

.clang-tidy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Checks: >
2323
cert-*,
2424
-cert-err58-cpp,
2525
-cert-msc51-cpp,
26+
performance-*,
2627
2728
WarningsAsErrors: '*'
2829

.github/workflows/mac.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
matrix:
4545
compiler:
4646
- { cpp: g++-14, c: gcc-14}
47-
- { cpp: g++-12, c: gcc-12}
47+
- { cpp: g++-13, c: gcc-13}
4848
- { cpp: clang++, c: clang}
4949
build_type: [Release]
5050
env:
@@ -54,6 +54,10 @@ jobs:
5454
steps:
5555
- uses: actions/checkout@v4
5656

57+
- uses: maxim-lobanov/setup-xcode@v1
58+
with:
59+
xcode-version: '16.4'
60+
5761
- name: Run Cmake
5862
run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{ matrix.build_type }}
5963

.github/workflows/readme_example.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717

1818
steps:
1919
- name: Checkout code
20-
uses: actions/checkout@v3
20+
uses: actions/checkout@v4
2121

2222
- name: Set up Python
2323
uses: actions/setup-python@v4

.github/workflows/windows.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ concurrency:
1313

1414
jobs:
1515
mingw:
16-
runs-on: windows-2019
16+
runs-on: windows-latest
1717
strategy:
1818
matrix:
1919
build_type: [Release]
@@ -39,7 +39,7 @@ jobs:
3939
ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose
4040
4141
msvc2022:
42-
runs-on: windows-2022
42+
runs-on: windows-latest
4343
continue-on-error: true
4444
strategy:
4545
matrix:
@@ -49,24 +49,24 @@ jobs:
4949
steps:
5050
- uses: actions/checkout@v4
5151
- name: Run CMake
52-
run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -G "Visual Studio 17 2022" -A ${{ matrix.architecture }}
52+
run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -A ${{ matrix.architecture }}
5353
- name: Build
5454
run: cmake --build build --config ${{ matrix.build_type }} --parallel 10
5555
- name: Test
5656
run: cd build ; ctest -j 10 -C ${{ matrix.build_type }} --output-on-failure
5757

5858
clang:
59-
runs-on: windows-2019
59+
runs-on: windows-latest
6060
continue-on-error: true
6161
strategy:
6262
matrix:
6363
build_type: [Release]
64-
version: [11, 12, 13, 14, 15]
64+
version: [19.1.0, 20.1.0]
6565

6666
steps:
6767
- uses: actions/checkout@v4
6868
- name: Install Clang
69-
run: curl -fsSL -o LLVM${{ matrix.version }}.exe https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ matrix.version }}.0.0/LLVM-${{ matrix.version }}.0.0-win64.exe ; 7z x LLVM${{ matrix.version }}.exe -y -o"C:/Program Files/LLVM"
69+
run: curl -fsSL -o LLVM${{ matrix.version }}.exe https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ matrix.version }}/LLVM-${{ matrix.version }}-win64.exe ; 7z x LLVM${{ matrix.version }}.exe -y -o"C:/Program Files/LLVM"
7070
- name: Run CMake
7171
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang++.exe" -G"MinGW Makefiles"
7272
- name: Build
@@ -75,7 +75,7 @@ jobs:
7575
run: cd build ; ctest -j 10 -C ${{ matrix.build_type }} --exclude-regex "test-unicode" --output-on-failure
7676

7777
clang-cl-11:
78-
runs-on: windows-2019
78+
runs-on: windows-latest
7979
continue-on-error: true
8080
strategy:
8181
matrix:
@@ -85,7 +85,7 @@ jobs:
8585
steps:
8686
- uses: actions/checkout@v4
8787
- name: Run CMake
88-
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -G "Visual Studio 16 2019" -A ${{ matrix.architecture }} -T ClangCL
88+
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -A ${{ matrix.architecture }} -T ClangCL
8989
- name: Build
9090
run: cmake --build build --config ${{ matrix.build_type }} --parallel 10
9191
- name: Test

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cff-version: 1.2.0
22
message: If you use this software, please cite it as below.
33
title: Model Independent Chemistry Module (MICM)
4-
version: v3.9.0
4+
version: v3.10.0
55
doi: "10.5281/zenodo.10472189"
66
authors:
77
- family-names: Dawson

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
cmake_minimum_required(VERSION 3.21)
44

55
# project and version must be on the same line so that the docs can extract it
6-
project(micm VERSION 3.9.0 LANGUAGES CXX)
6+
project(micm VERSION 3.10.0 LANGUAGES CXX)
77

88
if(NOT CMAKE_BUILD_TYPE)
99
set(CMAKE_BUILD_TYPE "Release" CACHE STRING

README.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,8 @@ The `k1` and `k2` rate constants are for Arrhenius reactions. See the [MICM docu
9999
To solve this system save the following code in a file named `foo_chem.cpp`:
100100

101101
```c++
102-
#include <micm/process/arrhenius_rate_constant.hpp>
102+
#include <micm/process/chemical_reaction_builder.hpp>
103+
#include <micm/process/rate_constant/arrhenius_rate_constant.hpp>
103104
#include <micm/solver/rosenbrock.hpp>
104105
#include <micm/solver/solver_builder.hpp>
105106

@@ -118,17 +119,19 @@ int main(const int argc, const char *argv[])
118119

119120
System chemical_system{ SystemParameters{ .gas_phase_ = gas_phase } };
120121

121-
Process r1 = Process::Create()
122+
Process r1 = ChemicalReactionBuilder()
122123
.SetReactants({ foo })
123124
.SetProducts({ Yield(bar, 0.8), Yield(baz, 0.2) })
124125
.SetRateConstant(ArrheniusRateConstant({ .A_ = 1.0e-3 }))
125-
.SetPhase(gas_phase);
126+
.SetPhase(gas_phase)
127+
.Build();
126128

127-
Process r2 = Process::Create()
129+
Process r2 = ChemicalReactionBuilder()
128130
.SetReactants({ foo, bar })
129131
.SetProducts({ Yield(baz, 1) })
130132
.SetRateConstant(ArrheniusRateConstant({ .A_ = 1.0e-5, .C_ = 110.0 }))
131-
.SetPhase(gas_phase);
133+
.SetPhase(gas_phase)
134+
.Build();
132135

133136
std::vector<Process> reactions{ r1, r2 };
134137

@@ -158,7 +161,7 @@ int main(const int argc, const char *argv[])
158161
159162
To build and run the example using GNU (assuming the default install location):
160163
```
161-
g++ -o foo_chem foo_chem.cpp -I/usr/local/micm-3.9.0/include -std=c++20
164+
g++ -o foo_chem foo_chem.cpp -I/usr/local/micm-3.10.0/include -std=c++20
162165
./foo_chem
163166
```
164167

docs/source/_static/switcher.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[
22
{
3-
"name": "v3.9.0 (stable)",
4-
"version": "v3.9.0 (stable)",
3+
"name": "v3.10.0 (stable)",
4+
"version": "v3.10.0 (stable)",
55
"url": "https://ncar.github.io/micm"
66
},
77
{
@@ -49,6 +49,11 @@
4949
"version": "3.9.0",
5050
"url": "https://ncar.github.io/micm/versions/3.9.0"
5151
},
52+
{
53+
"name": "v3.10.0",
54+
"version": "3.10.0",
55+
"url": "https://ncar.github.io/micm/versions/3.10.0"
56+
},
5257
{
5358
"name": "dev",
5459
"version": "dev",

docs/source/conf.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
'sphinx_copybutton',
4545
'sphinx_design',
4646
'sphinxcontrib.bibtex',
47+
'sphinx.ext.intersphinx'
4748
]
4849

4950
bibtex_bibfiles = ['references.bib']
@@ -59,6 +60,13 @@
5960
# This pattern also affects html_static_path and html_extra_path.
6061
exclude_patterns = []
6162

63+
# -- Link to Intersphinx Mappings ---
64+
65+
intersphinx_mapping = {
66+
'musica': ('https://ncar.github.io/musica/', None),
67+
'mc': ('https://ncar.github.io/MechanismConfiguration/', None),
68+
'mb': ('https://ncar.github.io/music-box/',None)
69+
}
6270

6371
# -- Options for HTML output -------------------------------------------------
6472

docs/source/user_guide/rate_constant_tutorial.rst

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,8 @@ and our reactions, which will be a vector of :cpp:class:`micm::Process` We will
8181

8282
Now that we have a gas phase and our species, we can start building the reactions. Two things to note are that
8383
stoichiemtric coefficients for reactants are represented by repeating that product as many times as you need.
84-
To specify the yield of a product, we've created a typedef :cpp:type:`micm::Yield`
85-
and a function :cpp:func:`micm::Yields` that produces these. Note that we add a conversion for
86-
some rate constant parameters to be consistent with the configuration file that expects rate constants
84+
To specify the yield of a product, we've created a struct :cpp:type:`micm::Yield`. Note that we add a conversion
85+
for some rate constant parameters to be consistent with the configuration file that expects rate constants
8786
to be in cm^3/molecule/s. (All units will be mks in the next version of the configuration file format.)
8887

8988
.. literalinclude:: ../../../test/tutorial/test_rate_constants_no_user_defined_by_hand.cpp

0 commit comments

Comments
 (0)