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

Update / Add High pressure transport #1704

Open
wants to merge 41 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
87db965
initial work on transport updates
wandadars May 31, 2024
f54461b
changed high pressure transport to mixture averaged and added new Chu…
wandadars Jun 5, 2024
3555321
added a test, and fixed names for transport objects
wandadars Jun 5, 2024
930edcd
working Chung method, bug fixes in Lucas method
wandadars Jun 6, 2024
f490b00
improvements to docstrings and comments
wandadars Jun 18, 2024
5d79212
documentation updates
wandadars Jun 19, 2024
d68cbab
more documentation added
wandadars Jun 20, 2024
d1a3ed1
more documentation
wandadars Jun 20, 2024
e4070a9
more documentation & reverted Takahashi method to original approach
wandadars Jun 20, 2024
5d81e91
[Doc] Add LaTeX macro file for Doxygen
speth Jun 22, 2024
2380128
first pass at review edits
wandadars Jul 1, 2024
5ad6539
more documentation updates
wandadars Jul 2, 2024
8488529
more documentation updates
wandadars Jul 3, 2024
f348112
addressing comments, new sample added
wandadars Jul 5, 2024
276a101
updates for documentation of the Ely and Hanley conductivity implemen…
wandadars Jul 9, 2024
1e0486b
more work on documenting the Ely and Hanley method
wandadars Jul 9, 2024
687b433
final updates for ely and hanley method
wandadars Jul 10, 2024
0c24e4e
detailed model description added for ely and hanley thermal conductivity
wandadars Jul 10, 2024
626e695
wrapped doxygen comment for thermal conductivity to 88 characters
wandadars Jul 10, 2024
5a44ec1
[transport] fixed incorrect equation in binary diffusion coefficient …
wandadars Aug 18, 2024
e72d621
[transport] removed mixture quantity structs and placed values as pri…
wandadars Aug 18, 2024
705dd8f
[transport] changed the chung name to high-pressure-Chung
wandadars Aug 18, 2024
3f64712
[transport] added coding to get acentric factor from critical-propert…
wandadars Aug 19, 2024
62ad70e
[transport] added new unit test, updated example, removed old unit te…
wandadars Aug 19, 2024
d4c964b
[transport] fixed bug in debye to SI conversion, minor formatting tweaks
wandadars Aug 19, 2024
7e53f85
[transport] minor comment adjustments
wandadars Aug 24, 2024
cdad79c
[transport] limited ely/hanley methane correlation to 10,000 Kelvin
wandadars Aug 30, 2024
fef951c
[transport] change broken high-pressure test to use RK eos instead of…
wandadars Aug 30, 2024
c1f7dfe
[transport] cleaned up ely and hanley conduction, cleaned up docs on …
wandadars Aug 30, 2024
8c72f98
[transport] prevent species that have a=0, b=0 from being used in the…
wandadars Oct 22, 2024
4eb9052
[transport] added new unit test and fixed some issues with unit test …
wandadars Oct 24, 2024
e929f24
[transport] fixed whitespace issues
wandadars Oct 24, 2024
e815ef5
[transport] fixed unit test failure for transport_models_test, added …
wandadars Oct 24, 2024
e7cc30e
[transport] updated docs on high pressure transport models
wandadars Nov 4, 2024
5599dc0
[transport] added regression-type test for high pressure transport mo…
wandadars Nov 4, 2024
41624e7
[transport] fixing formatting & removing unused files
wandadars Nov 4, 2024
ad4baed
[transport] converted list to numpy array in sample
wandadars Nov 7, 2024
a699b90
[transport] addressing review comments
wandadars Nov 27, 2024
3187149
[transport] pulled out takahashi correction factors into separate var…
wandadars Nov 27, 2024
b728ea3
[transport] added Chung transport to phases.md file
wandadars Nov 27, 2024
bf3de6e
[transport] simplified docstrings for critical property methods
wandadars Jan 22, 2025
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
11 changes: 11 additions & 0 deletions data/critical-properties.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6295,3 +6295,14 @@ species:
source: |-
The acentric factor is calculated using the pure fluid saturation data from
Lemmon et al. (2022).
- name: H2
descriptive-name: hydrogen
molecular-weight: 2.016
critical-parameters:
critical-temperature: 32.98
critical-pressure: 1.293e6
critical-molar-volume: 0.0642
critical-compressibility: 0.303
acentric-factor: -0.217
source: |-
Properties of Gases and Liquids, 5th edition, Poling.
2 changes: 1 addition & 1 deletion doc/doxygen/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -1725,7 +1725,7 @@ FORMULA_FONTSIZE = 10
# to create new LaTeX commands to be used in formulas as building blocks. See
# the section "Including formulas" for details.

FORMULA_MACROFILE =
FORMULA_MACROFILE = doc/doxygen/macros.tex

# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
# https://www.mathjax.org) which uses client side JavaScript for the rendering
Expand Down
20 changes: 20 additions & 0 deletions doc/doxygen/cantera.bib
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,26 @@ @article{dixon-lewis1968
year = {1968},
doi = {10.1098/rspa.1968.0178},
URL = {https://royalsocietypublishing.org/doi/abs/10.1098/rspa.1968.0178}}
@article{ely-hanley1981,
author = {Ely, James F. and Hanley, H. J. M.},
title = {Prediction of transport properties. 1. Viscosity of fluids and mixtures},
journal = {Industrial \& Engineering Chemistry Fundamentals},
volume = {20},
number = {4},
pages = {323-332},
year = {1981},
doi = {10.1021/i100004a004},
URL = {https://doi.org/10.1021/i100004a004}}
@article{ely-hanley1983,
author = {Ely, James F. and Hanley, H. J. M.},
title = {Prediction of transport properties. 2. Thermal conductivity of pure fluids and mixtures},
journal = {Industrial \& Engineering Chemistry Fundamentals},
volume = {22},
number = {1},
pages = {90-97},
year = {1983},
doi = {10.1021/i100009a016},
URL = {https://doi.org/10.1021/i100009a016}}
@article{gilbert1983,
author = {R.~G.~Gilbert and K.~Luther and J.~Troe},
journal = {Berichte der Bunsengesellschaft für physikalische Chemie},
Expand Down
3 changes: 3 additions & 0 deletions doc/doxygen/macros.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
% Macros defined here should also be defined in Sphinx conf.py
\newcommand{\t}[1]{\mathrm{#1}}
\newcommand{\pxpy}[2]{\frac{\partial #1}{\partial #2}}
2 changes: 1 addition & 1 deletion doc/example-keywords.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@ reaction path analysis
reactor network
saving output
sensitivity analysis
shock tube
strained flame
surface chemistry
shock tube
thermodynamic cycle
thermodynamics
transport
Expand Down
1 change: 1 addition & 0 deletions doc/sphinx/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,7 @@ def escape_splats(app, what, name, obj, options, lines):
"attrs_block",
]

# For Doxygen pages, these macros are also defined in doc/doxygen/macros.tex
mathjax3_config = {
'tex': {
'macros': {
Expand Down
19 changes: 14 additions & 5 deletions doc/sphinx/reference/transport/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,20 @@ Mixture-averaged
to `mixture-averaged`. Implemented by class {ct}`MixTransport`.

High-pressure Gas
: A model for high-pressure gas transport properties based on a method of corresponding
states {cite:p}`takahashi1975,poling2001`. The high-pressure gas transport model can
be specified in the YAML format by setting the [`transport`](sec-yaml-phase-transport)
field of the phase entry to `high-pressure`. Implemented by
class {ct}`HighPressureGasTransport`.
: A model for high-pressure gas transport properties that uses the Lucas method of
corresponding states {cite:p}`poling2001` for viscosity and thermal
conductivity and the Takahashi method {cite:p}`takahashi1975,poling2001` for the
diffusion coefficient. This high-pressure gas transport model can be specified in
the YAML format by setting the [`transport`](sec-yaml-phase-transport) field of the
phase entry to `high-pressure`. Implemented by class {ct}`HighPressureGasTransport`.

Chung high-pressure Gas
: A model for high-pressure gas transport properties that uses the method of Chung
{cite:p}`poling2001` for viscosity and thermal conductivity and the Takahashi method
{cite:p}`takahashi1975,poling2001` for the diffusion coefficient. This high-pressure
gas transport model can be specified in the YAML format by setting the
[`transport`](sec-yaml-phase-transport) field of the phase entry to
`high-pressure-Chung`. Implemented by class {ct}`ChungHighPressureGasTransport`.

Ionized Gas
: A model implementing the Stockmayer-(n,6,4) model for transport of ions in a gas. The
Expand Down
2 changes: 2 additions & 0 deletions doc/sphinx/yaml/phases.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,8 @@ are:
- `none`
- `high-pressure`: A model for high-pressure gas transport properties based on a
method of corresponding states ({ct}`details <HighPressureGasTransport>`)
- `high-pressure-Chung`: A model for high-pressure gas transport properties based on
the method of Chung ({ct}`details <ChungHighPressureGasTransport>`)
- `ionized-gas`: A model implementing the Stockmayer-(n,6,4) model for transport of
ions in a gas ({ct}`details <IonGasTransport>`)
- `mixture-averaged`: The mixture-averaged transport model for ideal gases
Expand Down
20 changes: 14 additions & 6 deletions include/cantera/transport/GasTransport.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,20 @@ class GasTransport : public Transport
std::copy(m_visc.begin(), m_visc.end(), visc);
}

//! Returns the matrix of binary diffusion coefficients.
/*!
* d[ld*j + i] = rp * m_bdiff(i,j);
/**
* Computes the matrix of binary diffusion coefficients. Units are m^2/s.
*
* The matrix is dimension m_nsp x m_nsp, where m_nsp is the number of
* species. The matrix is stored in row-major order, so that d[ld*j + i]
* contains the binary diffusion coefficient of species i with respect to
* species j.
*
* d[ld*j + i] = m_bdiff(i,j) / p
*
* @param ld offset of rows in the storage
* @param d output vector of diffusion coefficients. Units of m**2 / s
* @param ld Inner stride for writing the two dimension diffusion
* coefficients into a one dimensional vector
* @param d Diffusion coefficient matrix (must be at least m_nsp * m_nsp
* in length.
*/
void getBinaryDiffCoeffs(const size_t ld, double* const d) override;

Expand Down Expand Up @@ -205,7 +213,7 @@ class GasTransport : public Transport
* name of a file containing transport property parameters and a list of
* species names.
*/
void getTransportData();
virtual void getTransportData();

//! Corrections for polar-nonpolar binary diffusion coefficients
/*!
Expand Down
Loading
Loading