foamify
An interactive simulated foam generator for creating 3-dimensional random ensembles of spheres.
Overview
foamify is a Python package designed to create 3-dimensional random ensembles of spheres, mimicking the bubbles in foam based on user-defined parameters. This tool is particularly useful for researchers and scientists working in materials science, physics, and engineering applications.
Features
- 3D Sphere Generation: Create random ensembles of spheres in 3D space
- Customizable Parameters: Adjust size, distribution, and interaction of spheres
- Interactive GUI: User-friendly graphical interface for parameter configuration
- Export Capabilities: Save generated foam structures for further analysis
- Visualization Tools: Built-in plotting and visualization features
- Machine Learning Integration: Advanced density adjustment algorithms
Installation
From PyPI (Recommended)
pip install foamify
From Source
-
Clone the repository:
git clone https://github.com/jackericson98/foamify.git cd foamify
-
Install in development mode:
pip install -e .
Quick Start
Command Line Interface
After installation, run the interactive GUI:
foamify
Or run as a Python module:
python -m foam_gen
Python API
import foam_gen
# Use the package programmatically
# (API documentation coming soon)
Usage
- Launch the GUI: Run
foamifyfrom your terminal - Configure Parameters: Set your desired foam parameters through the interface
- Generate Foam: Click "Create Foam" to generate your 3D sphere ensemble
- Export Results: Save your generated foam for further analysis
Parameters
The foam generation can be customized with various parameters including:
- Sphere size distributions
- Density settings
- Spatial arrangement
- Interaction parameters
Dependencies
- Python >= 3.8
- numpy >= 1.21.0
- scipy >= 1.7.0
- matplotlib >= 3.5.0
- numba >= 0.56.0
- pandas >= 1.3.0
- scikit-learn >= 1.0.0
- tqdm >= 4.62.0
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Author
John Ericson - Georgia State University (2025)
- Email: jackericson98@gmail.com
- GitHub: @jackericson98
Citation
If you use this software in your research, please cite:
@software{foamify,
title={foamify: Interactive 3D Foam Generator},
author={John Ericson},
year={2025},
url={https://github.com/jackericson98/foamify}
}
Support
- Issues: GitHub Issues
- Documentation: GitHub README
Metadata
Release files for foamify 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| foamify-0.1.0.tar.gz | 32.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| foamify-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 71.8 kB
Release files / foamify-0.1.0.tar.gz
| Download URL | foamify-0.1.0.tar.gz |
|---|---|
| Size | 32.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9049dd8a4efcb7ce6ad5c2e67ac6fc3dfdc8b4f81e4ad5e454056f5088e7dcec
|
|
BLAKE2b-256 checksum How to use checksums |
c292b5bef2c84934b616b446ec51f55aa3244321a2f2bf63fc747ad7dd9e77ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.13
|
Release files / foamify-0.1.0-py3-none-any.whl
| Download URL | foamify-0.1.0-py3-none-any.whl |
|---|---|
| Size | 38.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1496130742729780085bd3045e016d8c7fdd14d3a76bb53ccba0044a2e1e6290
|
|
BLAKE2b-256 checksum How to use checksums |
753007ddc2c51ae36a34907842a23f8ba8a798cda3875da179d5e7d586814d11
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.13
|