Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
americocunhajr authored Jul 18, 2024
1 parent 145bade commit b844d52
Showing 1 changed file with 78 additions and 39 deletions.
117 changes: 78 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,89 @@
## CRFlowLib - Chemically Reacting Flow Library

**CRFlowLib** is a collection of computational libraries with routines to simulate chemically reacting flows employing In Situ Adaptive Tabulation (ISAT) algorithm for thermochemistry calculation.

### Documentation

**CRFlowLib** routines are commented to explain their functionality to the final user. Each routine has a short description of its purpose and a list of inputs and/or outputs. The users can use the file "main__pmsr-isat.c" as a baseline to define their own simulation problem.

### Software History

**CRFlowLib** is the result of a master's thesis:

- *A. Cunha Jr, Reduction of Complexity in Combustion Thermochemistry, PUC-Rio, Master Thesis, 2010 https://doi.org/10.17771/PUCRio.acad.17685*
## Chemically Reacting Flow Library

**CRFlowLib - Chemically Reacting Flow Library** is a comprehensive collection of computational libraries for simulating chemically reacting flows using the In Situ Adaptive Tabulation (ISAT) algorithm for thermochemistry calculations.

<p align="center">
<img src="logo/CrFlowLib-Flowchart.png" width="60%">
</p>

## Table of Contents
- [Overview](#overview)
- [Features](#features)
- [Compilation](#compilation)
- [Program execution](#program-execution)
- [Documentation](#documentation)
- [External dependencies](#external-dependencies)
- [Reaction mechanisms](#reaction-mechanisms)
- [Reproducibility](#reproducibility)
- [Authors](#authors)
- [Citing CRFlowLib](#citing-crflowlib)
- [License](#license)
- [Institutional support](#institutional-support)
- [Funding](#funding)
- [Contact](#contact)

## Overview
**CRFlowLib** was developed focused on reducing complexity in combustion thermochemistry. It provides a robust framework for simulating chemically reacting flows, leveraging the ISAT algorithm for efficient thermochemistry calculations. The package includes routines that are well-documented and easy to use, making it accessible for both educational and research purposes.

This library is the result of a master's thesis:
- **A. Cunha Jr**, *Reduction of Complexity in Combustion Thermochemistry*, PUC-Rio, Master Thesis, 2010 <a href="https://doi.org/10.17771/PUCRio.acad.17685" target="_blank">DOI</a>

The PDF of this thesis is available for free at: https://hal.archives-ouvertes.fr/tel-01541173
The PDF of this thesis is also available <a href="https://hal.archives-ouvertes.fr/tel-01541173" target="_blank">here</a>.

The results of this thesis were disclosed in the following publication:

- *A. Cunha Jr and L. F. Figueira da Silva, Assessment of a transient homogeneous reactor through in situ adaptive tabulation, Journal of the Brazilian Society of Mechanical Sciences and Engineering, v. 36, pp. 377-391, 2014 http://dx.doi.org/10.1007/s40430-013-0080-4*
- **A. Cunha Jr and L. F. Figueira da Silva**, *Assessment of a transient homogeneous reactor through in situ adaptive tabulation*, Journal of the Brazilian Society of Mechanical Sciences and Engineering, v. 36, pp. 377-391, 2014 <a href="http://dx.doi.org/10.1007/s40430-013-0080-4 " target="_blank">DOI</a>

The PDF of this article is available for free at: https://hal.archives-ouvertes.fr/hal-01438646

### Compilation
Preprint available <a href="https://hal.archives-ouvertes.fr/hal-01438646" target="_blank">here</a>.

**CRFlowLib** uses a Makefile for compilation.

To compile all the modules type: make

To compile a specific program type: make program-title.exe
(e.g make pmsr-isat.exe)
### Features
- Simulates chemically reacting flows using the ISAT algorithm
- Includes routines for thermochemistry calculations
- Well-documented code with detailed comments
- Example scripts for representative benchmark tests
- Compatible with both GNU Scientific Library and CVODE

### Compilation
To get started with **CRFlowLib**, follow these steps:
1. Clone the repository:
```bash
git clone https://github.com/americocunhajr/CRFlowLib.git
```
2. Navigate to the code directory:
```bash
cd CRFlowLib/CRFlowLib-2.0
```
3. Compile all modules using the Makefile:
```bash
make
```
4. To compile a specific program type:
```bash
make program-title.exe # e.g., pmsr-isat.exe
```
See the Makefile for further details.

### Program Execution
Users can use the file main__pmsr-isat.c as a baseline to define their own simulation problems.

### Program execution
All programs depend on the ‘chem.bin’ file generated by ‘chem.exe’ program.

To obtain the ‘chem.bin’ file type: make run_chem

To run a specific program type: make run_program-title
(e.g make run_pmsr-isat, make run_pmsr-di etc)
1. To obtain the ‘chem.bin’ file type:
```bash
make run_chem
```
2. To compile a specific program type:
```bash
make run_program-title # e.g make run_pmsr-isat, make run_pmsr-di etc
```

See the Makefile for further details.

### External Dependencies
### Documentation
**CRFlowLib** routines are thoroughly commented to explain their functionality. Each routine includes a short description of its purpose and a list of inputs and outputs. Users can refer to the example scripts provided to understand how to set up and run their simulations.

### External dependencies

#### CRFlowLib-1.0 - the original implementation
##### CRFlowLib-1.0 - the original implementation

* GNU Scientific Library 1.12 (open source) --- https://www.gnu.org/software/gsl/
* CVODE 2.5.0, which is part of SUNDIALS 2.3.0 (open source) --- https://computing.llnl.gov/projects/sundials
Expand All @@ -55,7 +94,7 @@ The following Chenkin-II libraries are necessary:
- ckinterp.f
- ckstrt.h

#### CRFlowLib-2.0 - an updated implementation
##### CRFlowLib-2.0 - an updated implementation

* GNU Scientific Library 2.6 (open source) --- https://www.gnu.org/software/gsl/
* CVODE 5.0.0, which is part of SUNDIALS 5.0.0 (open source) --- https://computing.llnl.gov/projects/sundials
Expand All @@ -66,23 +105,20 @@ The following Chenkin-II libraries are necessary:
- ckinterp.f
- ckstrt.h

### Reaction Mechanisms (CK-II format)

### Reaction mechanisms
This repository stores a collection of thermochemistry mechanisms in Chemkin-II format. These kinetic mechanisms were developed by several research groups that works in the simulation of chemically reactive flows. This collection is the result of more than 15 years of search. All of these mechanisms were made available, at some time, on the Internet or in specialized literature.

The repository owner makes them available here with the intention that they may be useful for researchers interested in the topic. Unfortunately, no guarantee can be given regarding the integrity of the files or the accuracy of the mechanisms. Use it at your own risk!

### Reproducibility

Simulations done with **CRFlowLib** are fully reproducible, as can be seen on this <a href="https://codeocean.com/capsule/2804669/tree/v1" target="_blank">CodeOcean capsule</a>

### Authors
- Americo Cunha (UERJ)
- Luis Fernando Figueira da Silva (PUC-Rio / Institut Pprime)

### Citing CRFlowLib

We kindly ask users to cite the following references in any publications reporting work done with **CRFlowLib**:
If you use **CRFlowLib** in your research, please cite the following references:
- *A. Cunha Jr and L. F. Figueira da Silva, CRFlowLib --- Chemically Reacting Flow Library, Software Impacts, v. 11, pp. 100206, 2022 https://doi.org/10.1016/j.simpa.2021.100206*
- *A. Cunha Jr and L. F. Figueira da Silva, Assessment of a transient homogeneous reactor through in situ adaptive tabulation, Journal of the Brazilian Society of Mechanical Sciences and Engineering, v. 36, pp. 377-391, 2014 http://dx.doi.org/10.1007/s40430-013-0080-4*
- *A. Cunha Jr, Reduction of Complexity in Combustion Thermochemistry, PUC-Rio, Master Thesis, 2010 https://doi.org/10.17771/PUCRio.acad.17685*
Expand Down Expand Up @@ -123,7 +159,6 @@ We kindly ask users to cite the following references in any publications reporti
```

### License

**CRFlowLib** is released under the MIT license. See the LICENSE file for details. All new contributions must be made under the MIT license.

<img src="logo/mit_license_red.png" width="10%">
Expand All @@ -135,3 +170,7 @@ We kindly ask users to cite the following references in any publications reporti
### Funding

<img src="logo/faperj.jpg" width="20%"> &nbsp; &nbsp; <img src="logo/cnpq.png" width="20%"> &nbsp; &nbsp; <img src="logo/capes.png" width="10%">

### Contact
For any questions or further information, please contact the first author:
- Americo Cunha Jr: [email protected]

0 comments on commit b844d52

Please sign in to comment.