Skip to main content

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

  1. Clone the repository:

    git clone https://github.com/jackericson98/foamify.git
    cd foamify
    
  2. 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

  1. Launch the GUI: Run foamify from your terminal
  2. Configure Parameters: Set your desired foam parameters through the interface
  3. Generate Foam: Click "Create Foam" to generate your 3D sphere ensemble
  4. 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)

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

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)

Source distribution for foamify 0.1.0
File Size Uploaded
foamify-0.1.0.tar.gz 32.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for foamify 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page