An interactive simulated foam generator for creating 3-dimensional random ensembles of spheres
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file foamify-0.1.0.tar.gz.
File metadata
- Download URL: foamify-0.1.0.tar.gz
- Upload date:
- Size: 32.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9049dd8a4efcb7ce6ad5c2e67ac6fc3dfdc8b4f81e4ad5e454056f5088e7dcec
|
|
| MD5 |
da677b8b015edbb7bb918177f4fcd60b
|
|
| BLAKE2b-256 |
c292b5bef2c84934b616b446ec51f55aa3244321a2f2bf63fc747ad7dd9e77ff
|
File details
Details for the file foamify-0.1.0-py3-none-any.whl.
File metadata
- Download URL: foamify-0.1.0-py3-none-any.whl
- Upload date:
- Size: 38.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1496130742729780085bd3045e016d8c7fdd14d3a76bb53ccba0044a2e1e6290
|
|
| MD5 |
50bc08b74028b627dbbf05cd66afca03
|
|
| BLAKE2b-256 |
753007ddc2c51ae36a34907842a23f8ba8a798cda3875da179d5e7d586814d11
|