The XPINN Toolkit is a minimal framework for implementing eXtended Physics-Informed Neural Networks (XPINNs). XPINNs allow the decomposition of complex physical domains into subdomains, enabling parallel and localized learning of partial differential equations (PDEs). This toolkit is designed to provide a lightweight and modular foundation for XPINN research and experimentation.
- Modular design supporting XPINN components:
- Subdomains (
SubDomain) - Sub-networks (
SubNet) - Core PINN/XPINN models
- Subdomains (
- Utility functions for model management and PDE handling
- Test suite and pretrained model checkpoints
- Example usage for quick experimentation
xpinn-toolkit/
├── poetry.lock # Poetry lock file
├── pyproject.toml # Project metadata and dependencies
├── README.md # Project documentation
├── src/
│ └── xpinntoolkit/
│ ├── __init__.py
│ ├── examples/ # Example setups and training scripts
│ ├── models/ # Core XPINN components
│ │ ├── PINN.py
│ │ ├── XPINN.py
│ │ ├── SubNet.py
│ │ ├── SubDomain.py
│ │ ├── utils.py
│ │ └── __init__.py
│ └── __pycache__/
├── tests/ # Tests and training outputs
│ ├── compare_XPINN_PINN.py
│ ├── train_XPINN_PINN.py
│ ├── xpinn_sequential_model.pth
│ ├── xpinn_sequential_step_*.pth
│ ├── sequential_training_progress.png
│ └── __init__.pyThis project uses Poetry for dependency management.
To install the project in editable mode:
poetry installTo activate the virtual environment:
poetry shellExamples demonstrating how to define domains, set up sub-networks, and train XPINNs are located in:
src/xpinntoolkit/examples/
You can also explore the tests/ folder to see training comparisons and saved models from sequential runs.