BFP

Boltzmann Fokker-Planck Charged Particle Transport Solver (BFP)

ReadTheDocs License Unit Tests

👀 Overview

BFP provides a solver for Boltzman Fokker-Plank charged-particle transport problems, seamlessly integrating with: PyMFEM: Python wrapper for MFEM library, supporting FEM simulations. PyGLVis. Interactive visualization tool for finite element methods, designed especially for Jupyter notebooks.

This package simplifies setup and visualization of BFP simulations, designed specifically for Charged Particle Transport Problems.

Step 1: Clone the Repository

git clone https://github.com/melekderman/BFP.git
cd BFP

Step 2: Set Up Your Python Environment

We recommend using a virtual or Conda environment.

Virtual Environment

python3.11 -m venv .venv
source .venv/bin/activate

Conda Environment

conda create --name BFP-env python==3.11
conda activate BFP-env

Step 3: Install BFP

Install BFP along with dependencies using:

pip install .

📈 Usage & Visualization

BFP integrates with PyGLVis, which is a Jupyter-compatible visualization toolkit. To effectively visualize results:

In a Jupyter notebook, initialize PyGLVis:

import glvis
glvis(mesh, solution)

Refer to the PyGLVis Documentation: PyGLVis for more examples.


🔬 Running Tests

After installation, run the provided tests to verify your setup.

Serial Testing

cd tests/unit/
python test_coeff.py
python test_mesh.py

Parallel Testing (upcoming feature)

python test_coeff.py --parallel
python test_mesh.py --parallel

🤝 Contributing

Contributions, bug reports, and feature requests are welcome! Please open an issue: https://github.com/melekderman/BFP/issues or submit a pull request: https://github.com/melekderman/BFP/pulls.


📜 License

BFP is released under the BSD-3 Clause License. See LICENSE file for details.


💬 Acknowledgements

This project is supported by the Center for Exascale Monte-Carlo Neutron Transport (CEMeNT), a PSAAP-III project funded by the Department of Energy (DOE), grant number: DE-NA003967.


📮 Contact 📮

For any questions or further details, please contact:

📧 Melek Derman – dermanm@oregonstate.edu