# <img src="https://github.com/djsilva99/heatrapy/blob/master/img/heatrapy.png" height="28" align="center"> heatrapy

[![pypi](https://badge.fury.io/py/heatrapy.svg)](https://badge.fury.io/py/heatrapy)
[![Downloads](https://pepy.tech/badge/heatrapy)](https://pepy.tech/project/heatrapy)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/djsilva99/heatrapy/blob/master/LICENSE)
[![SoftwareX Paper](https://img.shields.io/badge/DOI-10.1016%2Fj.softx.2018.09.007-blue)](https://doi.org/10.1016/j.softx.2018.09.007)
[![Documentation Status](https://readthedocs.org/projects/heatrapy/badge/?version=latest)](https://heatrapy.readthedocs.io/en/latest/?badge=latest)
[![codecov](https://codecov.io/github/djsilva99/heatrapy/graph/badge.svg?token=5UKJZ8SPVI)](https://codecov.io/github/djsilva99/heatrapy)

Heatrapy is a lightweight Python framework for simulating heat transfer using
finite-difference methods, with built-in support for phase transitions and
caloric materials.

Features:
- ✅ Easy to learn
- ✅ Finite-difference heat transfer solver
- ✅ 1D and 2D thermal simulations
- ✅ Phase-change materials
- ✅ Caloric effects modeling
- ✅ Multi-material systems
- ✅ Real-time visualization
- ✅ Pure Python implementation


### 🚀 Why Heatrapy?

Heatrapy makes thermal simulations accessible without heavy FEM or CFD
frameworks.

Perfect for:
- Research prototypes
- Teaching heat transfer
- Rapid thermal modeling
- Solid-state cooling simulations


### 🎬 Example Simulation

![heatrapy-example](https://github.com/djsilva99/heatrapy/blob/master/img/example.gif)


### ⚡ Quick Installation

To install heatrapy use the pip package manager:

```bash
$ pip install heatrapy
```

To import the heatrapy module type in the python shell:

```python
>>> import heatrapy as htp
```

See the example above or explore the documentation for complete tutorials.


### 📖 Documentation

Full documentation available
[here](https://heatrapy.readthedocs.io/en/latest/index.html)


### 🤝 Contributions

Contributions of all kinds are welcome!

Please see the development workflow
[here](https://github.com/djsilva99/heatrapy/blob/master/CONTRIBUTING.md).

If heatrapy contributes to research that leads to a publication, please cite <a
href='https://www.sciencedirect.com/science/article/pii/S2352711018301298'>this
paper</a>.

⭐ If you find heatrapy useful, consider starring the repository to support the
project.
