Skip to content

Commit 0d0806b

Browse files
authored
Add H2/CH4 turbulent jet dataset and other QoL items
Merge pull request #26 from blastnet/jzh/dev
2 parents aefeee2 + 0e254c9 commit 0d0806b

26 files changed

+2058
-0
lines changed

README.md

+114
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,120 @@ Built using [Minimal Mistakes](https://github.com/mmistakes/minimal-mistakes) an
66

77
This repository contains all the code for the blastnet.github.io website. Most of the Minimal Mistakes features and layouts are not used (and will likely never be used) and so they have been removed for a smoother and lighter build experience. Yet, some new features like the data counters have also been added. Therefore, please read this documentation carefully.
88

9+
## Getting started
10+
11+
In order to build the site, a local installation of [Jekyll](https://jekyllrb.com) and [Ruby](https://www.ruby-lang.org/en/) is required.
12+
13+
### MacOS
14+
15+
MacOS comes preinstalled with Ruby, but it is generally not recommended to use the system Ruby. Therefore, first install `chruby` and `ruby-install` with [Homebrew](https://brew.sh/) (if you don't have Homebrew on your Mac, install that first!).
16+
```bash
17+
brew install chruby ruby-install
18+
```
19+
20+
Now, install a stable version of Ruby (e.g. 3.4.1):
21+
```bash
22+
ruby-install ruby 3.4.1
23+
```
24+
25+
Configure the shell to automatically use `chruby` so that the system Ruby will not cause issues:
26+
```bash
27+
echo "source $(brew --prefix)/opt/chruby/share/chruby/chruby.sh" >> ~/.zshrc
28+
echo "source $(brew --prefix)/opt/chruby/share/chruby/auto.sh" >> ~/.zshrc
29+
echo "chruby ruby-3.4.1" >> ~/.zshrc # run 'chruby' to see actual version
30+
```
31+
32+
Finally, **quit and relaunch the terminal**, then verify Ruby is working (`ruby -v`) and install Jekyll:
33+
```bash
34+
gem install jekyll
35+
```
36+
37+
### Linux (Debian, Ubuntu, Mint)
38+
39+
Linux OS generally does not come preinstalled with Ruby, so you will need to install it yourself. Personally, I recommend using a Ruby manager like `rvm`, but you can just install the Ruby library and other prerequisites like so:
40+
```bash
41+
sudo apt-get install ruby-full build-essential zlib1g-dev
42+
```
43+
44+
It is recommended to install gems (packages) on a user basis, running these lines of code in terminal will set this up (optional):
45+
```bash
46+
echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc
47+
echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc
48+
source ~/.bashrc
49+
```
50+
51+
Install Jekyll and Bundler:
52+
```
53+
gem install jekyll bundler
54+
```
55+
56+
### Windows
57+
58+
Install RubyInstaller for Windows from https://rubyinstaller.org/downloads/ and ensure that you tick ridk install at the end to install MSYS2 and development tools. Click Enter twice. If you did not tick, then open a session in Powershell and type:
59+
```
60+
ridk install
61+
```
62+
63+
In Powershell, verify installation with
64+
```ruby -v
65+
gem -v
66+
```
67+
68+
Install Jekyll and the bundler with
69+
```
70+
gem install jekyll bundler
71+
```
72+
73+
---
74+
75+
## Building the site
76+
77+
First, clone the repository:
78+
```bash
79+
git clone https://github.com/ihmegroup/website
80+
```
81+
82+
You can also fork the repository and clone that, if you prefer.
83+
84+
Then, `cd website` and install dependencies:
85+
```bash
86+
bundle install
87+
```
88+
89+
The site is now ready to be built using the following command:
90+
```bash
91+
bundle exec jekyll build
92+
```
93+
94+
If you'd like to preview, you can also run
95+
```bash
96+
bundle exec jekyll serve
97+
```
98+
which will build the site and run a daemon on your local machine.
99+
100+
There are some options/flags that this command takes, the most pertinent of which is `--livereload` (which will cause the browser to refresh every time the site is rebuilt, i.e., every time a file is updated). If you run into an error saying the port is unavailable, chances are that you have another instance of Jekyll running already (either because you are also working on another site at the moment, or because you forgot to terminate Jekyll the last time). If you'd like to work on multiple Jekyll sites at the same time, you can specify a different port (e.g. `--port 4001`). The default port is `4000`, so to preview the site in your browser, enter the URL `localhost:4000`.
101+
102+
### Important
103+
104+
Make sure to correctly set the `url` and `baseurl` fields in `_config.yml` before building the webpage. The url should be `fxlab.stanford.edu` and baseurl blank, do not delete it.
105+
106+
---
107+
108+
## Pushing to production
109+
110+
**Never push to production on Fridays!** (jk)
111+
112+
Once the site has been built, all the relevant files will be in the `_site` folder, ready to be uploaded to the Stanford domain. I also recommend cleaning up the CSS to remove unused classes, which speeds up loading time and reduces filesize, this can be done by running
113+
114+
```bash
115+
purgecss -c purgecss.config.js
116+
```
117+
which will replace the CSS files in the `_site/assets/css/` folder with the purged css files.
118+
119+
If using Github pages, simply run `bundle exec jekyll clean` to remove the build files, then commit changes and push to the `main` branch. I do recommend making major code-breaking or other stylistic changes on a development branch or fork, before making a pull request to the main branch.
120+
121+
---
122+
9123
## Steps to add new dataset to BlastNet
10124

11125
1. Upload all data to Kaggle

_datasets/ho2024.md

+91
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
---
2+
layout: datapage
3+
excerpt: (4 cases)
4+
title: H2/CH4 Turbulent Jet Flows
5+
description: H2/CH4 Fuel Mixtures, Turbulent Round Jet Premixed Flame DNS
6+
header:
7+
teaser: /assets/img/ho2024_ico.png
8+
categories: reacting
9+
---
10+
11+
<div class="sidebar__right" style="top:200px; text-align: center;">
12+
<img src="./assets/img/ho2024.png" alt="Image 1">
13+
</div>
14+
15+
## Description
16+
17+
The DNS configurations by Ho et al. [1] investigates four turbulent round jet flames fueled by 0, 10, 50, and 80% hydrogen by volume, with the rest by methane, while maintaining the jet Reynolds number at 10,300. The jet is preheated to 450 K and the coflow is set to the adiabatic combustion products. The setup is initialized with combustion products at adiabatic flame temperature and at atmospheric pressure. A reduced mechanism with Quasi-Steady State chemistry is used, resulting in 16 transported species and 7 QSS species. The original simulation domain size is 25D×16D×16D, though note that the sponge layer data has been removed from this dataset, resulting in a 19.3D×5D×5D domain. After removal of the sponge layer, the grid sizes are 1739×620×620, 1749×486×486, 1730×571×571, and 1831×654×654 for the H0, H10, H50, and H80 cases, respectively. Five snapshots of each case is provided.
18+
19+
The DNS is performed using the code NTMIX-CHEMKIN, which solves fully compressible Navier-Stokes equations along with energy and species conservation equations in Cartesian coordinates. The solver uses an eight-order explicit central spatial difference scheme and a third-order Runge-Kutta time integration scheme. Ideal gas law and mixture-averaged species-specific properties are used for the simulations. Further details of the DNS configuration and solver are provided in Ho et al. [1].
20+
21+
## Quick Info
22+
* Contributors: Jen Zen Ho, Mohsen Talei
23+
* <a href="https://doi.org/10.1016/j.ijhydene.2024.07.283">DOI</a>
24+
* <a href="./assets/bib/ho2024.bib">.bib</a>
25+
26+
## Links to different cases
27+
28+
<script src="./assets/js/table.js"></script>
29+
30+
<table align="center">
31+
<tr class="header">
32+
<th style="width:2%;">ID</th>
33+
<th style="width:10%;">Conditions</th>
34+
<!-- <th style="width:60%;">TPY</th> -->
35+
<!-- <th style="width:8%;">Grid</th> -->
36+
<th style="width:10%;">Size (GB)</th>
37+
<!-- <th style="width:60%;">Article</th> -->
38+
<th style="width:8%;">Links</th>
39+
</tr>
40+
<tr>
41+
<td align="center"> 0 </td>
42+
<td align="center">0% H<sub>2</sub> 100% CH<sub>4</sub></td>
43+
<td align="center">790</td>
44+
<td align="center">
45+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h0-1">Kaggle<sub>1</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h0-1-info.json">info.json<sub>1</sub></a><BR>
46+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h0-2">Kaggle<sub>2</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h0-2-info.json">info.json<sub>2</sub></a><BR>
47+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h0-3">Kaggle<sub>3</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h0-3-info.json">info.json<sub>3</sub></a><BR>
48+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h0-4">Kaggle<sub>4</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h0-4-info.json">info.json<sub>4</sub></a><BR>
49+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h0-5">Kaggle<sub>5</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h0-5-info.json">info.json<sub>5</sub></a><BR>
50+
</td>
51+
</tr>
52+
<tr>
53+
<td align="center"> 1 </td>
54+
<td align="center">10% H<sub>2</sub> 90% CH<sub>4</sub></td>
55+
<td align="center">490</td>
56+
<td align="center">
57+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h10-1">Kaggle<sub>1</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h10-1-info.json">info.json<sub>1</sub></a><BR>
58+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h10-2">Kaggle<sub>2</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h10-2-info.json">info.json<sub>2</sub></a><BR>
59+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h10-3">Kaggle<sub>3</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h10-3-info.json">info.json<sub>3</sub></a><BR>
60+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h10-4">Kaggle<sub>4</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h10-4-info.json">info.json<sub>4</sub></a><BR>
61+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h10-5">Kaggle<sub>5</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h10-5-info.json">info.json<sub>5</sub></a><BR>
62+
</td>
63+
</tr>
64+
<tr>
65+
<td align="center"> 2 </td>
66+
<td align="center">50% H<sub>2</sub> 50% CH<sub>4</sub></td>
67+
<td align="center">654</td>
68+
<td align="center">
69+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h50-1">Kaggle<sub>1</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h50-1-info.json">info.json<sub>1</sub></a><BR>
70+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h50-2">Kaggle<sub>2</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h50-2-info.json">info.json<sub>2</sub></a><BR>
71+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h50-3">Kaggle<sub>3</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h50-3-info.json">info.json<sub>3</sub></a><BR>
72+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h50-4">Kaggle<sub>4</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h50-4-info.json">info.json<sub>4</sub></a><BR>
73+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h50-5">Kaggle<sub>5</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h50-5-info.json">info.json<sub>5</sub></a><BR>
74+
</td>
75+
</tr>
76+
<tr>
77+
<td align="center"> 3 </td>
78+
<td align="center">80% H<sub>2</sub> 20% CH<sub>4</sub></td>
79+
<td align="center">878</td>
80+
<td align="center">
81+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h80-1">Kaggle<sub>1</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h80-1-info.json">info.json<sub>1</sub></a><BR>
82+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h80-2">Kaggle<sub>2</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h80-2-info.json">info.json<sub>2</sub></a><BR>
83+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h80-3">Kaggle<sub>3</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h80-3-info.json">info.json<sub>3</sub></a><BR>
84+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h80-4">Kaggle<sub>4</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h80-4-info.json">info.json<sub>4</sub></a><BR>
85+
<a href="https://www.kaggle.com/datasets/blastnet/h2ch4-jet-h80-5">Kaggle<sub>5</sub></a>, <a href="./assets/json/ho2024/h2ch4-jet-h80-5-info.json">info.json<sub>5</sub></a><BR>
86+
</td>
87+
</tr>
88+
</table>
89+
90+
## References
91+
[1]. J. Z. Ho, M. Talei, and R. L. Gordon. Direct numerical simulation of stoichiometric hydrogen/methane premixed jet flames. International Journal of Hydrogen Energy 81, pp. 831-841 (2024).

assets/bib/ho2024.bib

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
@article{hoDirectNumericalSimulation2024,
2+
title = {Direct Numerical Simulation of Stoichiometric Hydrogen/Methane Premixed Jet Flames},
3+
author = {Ho, Jen Zen and Talei, Mohsen and Gordon, Robert L.},
4+
year = {2024},
5+
month = sep,
6+
journal = {International Journal of Hydrogen Energy},
7+
volume = {81},
8+
pages = {831--841},
9+
issn = {03603199},
10+
doi = {10.1016/j.ijhydene.2024.07.283},
11+
urldate = {2024-08-06},
12+
langid = {english}
13+
}

assets/img/ho2024.png

72.8 KB
Loading

assets/img/ho2024_ico.png

196 KB
Loading

assets/img/ico_creation_tool.pptx

67.9 KB
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
{
2+
"global": {
3+
"dataset_id": "H0_1",
4+
"Nxyz": [
5+
1739,
6+
620,
7+
620
8+
],
9+
"snapshots": 1,
10+
"time-step [s]": 0.0042147965522166065,
11+
"variables": [
12+
"RHO_kgm-3",
13+
"UX_ms-1",
14+
"UY_ms-1",
15+
"UZ_ms-1",
16+
"ET_m2s-2",
17+
"P_Pa",
18+
"YN2",
19+
"YH2",
20+
"YH",
21+
"YO",
22+
"YO2",
23+
"YOH",
24+
"YH2O",
25+
"YHO2",
26+
"YH2O2",
27+
"YCO",
28+
"YCO2",
29+
"YCH3",
30+
"YCH4",
31+
"YCH2O",
32+
"YC2H4",
33+
"YC2H6"
34+
],
35+
"compression": "None",
36+
"grid": {
37+
"x": "./grid/X_m.dat",
38+
"y": "./grid/Y_m.dat",
39+
"z": "./grid/Z_m.dat"
40+
},
41+
"bc": {
42+
"Ujet": "Injected turbulence using Taylors hypothesis with Re_j = 10300, ux_rms/u_centerline = 0.04, l_t = 0.3D, D = 2.3e-3 m",
43+
"Ucoflow": "2% of the mean jet velocity",
44+
"Tjet [K]": 450,
45+
"Tcoflow": "Adiabatic flame temperature",
46+
"Pamb [Pa]": 101325,
47+
"Mixture": "100% CH4, Equivalence ratio = 1"
48+
},
49+
"ic": {
50+
"UX": "Coflow velocity",
51+
"T": "Adiabatic flame temperature",
52+
"Pamb [Pa]": 101325,
53+
"Mixture": "Burnt gas"
54+
},
55+
"doi": "https://doi.org/10.1016/j.ijhydene.2024.07.283",
56+
"contributors": "Jen Zen Ho and Mohsen Talei",
57+
"description": "Turbulent Round jet CH4-air Premixed Flame DNS",
58+
"chem_thermo_tran": {
59+
"fortran_f90": "./chem_thermo_tran/QSS_NPR_RFFCM.F90",
60+
"reaction-less_cti": "./chem_thermo_tran/QSS_RFFCM.cti",
61+
"before-QSS_cti": "./chem_thermo_tran/RFFCM.cti"
62+
},
63+
"notes": "Sponge layers removed from this data. Inlet sponge x_end = 0.7D, outlet sponge x_start = 20D, yz_sponge = 5D. A mechanism with QSS was used for the simulation - this is the Fortran F90 file. In addition, a reaction-less cti file is given for convenience to calculate gas properties, and the reduced mechanism, based on FFCM 1.0, that was used to generate the QSS mechanism is also provided."
64+
},
65+
"local": [
66+
{
67+
"id": 0,
68+
"RHO_kgm-3 filename": "./data/RHO_kgm-3.dat",
69+
"UX_ms-1 filename": "./data/UX_ms-1.dat",
70+
"UY_ms-1 filename": "./data/UY_ms-1.dat",
71+
"UZ_ms-1 filename": "./data/UZ_ms-1.dat",
72+
"ET_m2s-2 filename": "./data/ET_m2s-2.dat",
73+
"P_Pa filename": "./data/P_Pa.dat",
74+
"YN2 filename": "./data/YN2.dat",
75+
"YH2 filename": "./data/YH2.dat",
76+
"YH filename": "./data/YH.dat",
77+
"YO filename": "./data/YO.dat",
78+
"YO2 filename": "./data/YO2.dat",
79+
"YOH filename": "./data/YOH.dat",
80+
"YH2O filename": "./data/YH2O.dat",
81+
"YHO2 filename": "./data/YHO2.dat",
82+
"YH2O2 filename": "./data/YH2O2.dat",
83+
"YCO filename": "./data/YCO.dat",
84+
"YCO2 filename": "./data/YCO2.dat",
85+
"YCH3 filename": "./data/YCH3.dat",
86+
"YCH4 filename": "./data/YCH4.dat",
87+
"YCH2O filename": "./data/YCH2O.dat",
88+
"YC2H4 filename": "./data/YC2H4.dat",
89+
"YC2H6 filename": "./data/YC2H6.dat"
90+
}
91+
]
92+
}

0 commit comments

Comments
 (0)