Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gpavanb1/rfs
Robust Flamelet Solver: Mixture-Fraction based Flamelet solver with arc-length continuation
https://github.com/gpavanb1/rfs
boundary-value-problem cfd combustion flamelet numerical-continuation python
Last synced: 2 months ago
JSON representation
Robust Flamelet Solver: Mixture-Fraction based Flamelet solver with arc-length continuation
- Host: GitHub
- URL: https://github.com/gpavanb1/rfs
- Owner: gpavanb1
- License: mit
- Created: 2022-11-13T18:23:08.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2022-11-13T19:40:15.000Z (about 2 years ago)
- Last Synced: 2023-12-16T15:54:08.255Z (about 1 year ago)
- Topics: boundary-value-problem, cfd, combustion, flamelet, numerical-continuation, python
- Language: Python
- Homepage:
- Size: 5.86 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# RFS
[Counterflow diffusion flames](https://cefrc.princeton.edu/sites/g/files/toruqf1071/files/Files/2014%20Lecture%20Notes/Pitsch/Lecture6_LamDiffFlames_2014.pdf) are a canonical problem in combustion simulations
Solution to these system of equations are used to perform large-scale calculations in a faster manner
RFS (Robust Flamelet Solver) is a mixture-fraction space based flamelet solver with arc-length continuation
capabilitiesSolving in mixture-fraction space with logarithmic arc-length continuation allows for quick traversal of solution space
## How to install and execute?
* Use `conda` to setup [Cantera 3.0](https://cantera.org/install/conda-install.html#sec-install-conda) as suggested on its website
* Install the dependencies using `pip install -r requirements.txt`
Just run
```
python main.py
```The following program illustrates a basic example
```python
import matplotlib.pyplot as plt
from flamelet_problem import FlameletProblemLAMBDA_0 = -3.
NPTS = 30# Define the problem
# Use plot_verbose=True to show flamelets each time a new solution is found
problem = FlameletProblem(LAMBDA_0, NPTS)# Continue the problem
# Entire list of arguments in `flamelet_problem.py` and same as `pacopy.euler_newton`
problem.continuation(
newton_tol=1.0e-3,
verbose=False,
max_steps=3000,
max_newton_steps=20,
stepsize0=1.0e-1,
stepsize_max=1.0e0,
stepsize_aggressiveness=1e6,
)plt.plot(problem.chi_list, problem.Tmax_list)
plt.show()
```## Whom to contact?
Please direct your queries to [gpavanb1](http://github.com/gpavanb1)
for any questions.## Acknowledgements
This would not have been possible with the immense efforts of [Spitfire](https://github.com/sandialabs/Spitfire) and [Pacopy](https://github.com/sigma-py/pacopy)
Sample Hydrogen mechanism is the same one used from [Spitfire](https://github.com/sandialabs/Spitfire)