porous_media¶
porous_media provides Python utilities for porous media simulation results and
meshes. It connects FEBio-exported VTK data with XDMF time series, mesh zonation,
and PyVista visualizations.
Start here¶
- Install the package on Python 3.13 or later.
- Run the quickstart with bundled simulation data.
- Convert and inspect XDMF, generate zonation, or render mesh data.
- Use the FEBio guide to prepare inputs and process solver outputs.
Workflow¶
| Task | Input | Output |
|---|---|---|
| Convert a time series | FEBio-exported legacy VTK files | XDMF, HDF5, and cached limits |
| Interpolate a time series | XDMF with a fixed mesh | XDMF at requested times |
| Generate zonation | Mesh with boundary labels and cell volumes | Cell positions and zonation patterns |
| Render results | Mesh data or an XDMF time series | Image panels |
| Create a video | Numbered images | Video or GIF using FFmpeg |
| Prepare a parameter study | Jinja2 FEBio template and contexts | Rendered .feb files |
The package does not run a finite element solver. FEBio, its plugins, and FFmpeg are external programs. Numerical data processing does not require a display.
Scope and reference¶
The API reference documents the reusable data, mesh,
visualization, and FEBio modules. Scripts in research/ are research
workflows with project-specific paths and data requirements.
They are not a supported command-line interface or portable tutorials.
The research archive preserves historical setup and study notes separately from the current user guides.
Development uses uv, Ruff, ty, pytest, and Zensical. See contributing for bug reports and pull requests, and development for the locked environment and required checks.