PRISMS-PF Integration#
Overview#
This documentation describes tools for integrating PRISMS-PF (Phase Field) simulations with Materials Commons, enabling automated data management and analysis workflows.
Key Features#
Automated import of PRISMS-PF simulations
Intelligent file organization and categorization
Automated metadata extraction and ETL processing
Visualization generation (images and movies)
Materials Commons integration utilities
Getting Started#
Prerequisites#
Materials Commons Account
Register at Materials Commons
Free account required for data management
Materials Commons CLI
Install and configure using the official guide
Required on your PRISMS-PF system
Clone the PRISMS-PF_MC_tools repo and add to your path:
git clone https://github.com/prisms-center/PRISMS-PF_MC_tools cd PRISMS-PF_MC_tools export PATH="$PATH:$(pwd)"
Project Setup:
# Create project directory (outside phaseField directory) mkdir <project_name> cd <project_name> # Initialize Materials Commons project mc init
Note
Project name must match between local directory and Materials Commons
Project Structure#
Standard Directory Layout:
project_directory/
└── simulation_directory/
├── code/ # Source files
├── description.txt # Simulation description
├── observations.txt # Notes and observations
└── data/
├── images/ # Generated visualizations
├── movies/ # Animation files
├── postprocess/ # Analysis results
└── vtk/ # Simulation output files
Available Tools#
Simulation Import Tool#
The importsim.sh
script handles simulation data organization.
Usage:
importsim.sh --copy=<ON/OFF> <source_directory> [destination_directory]
- Options:
--copy=ON
: Creates copies of simulation files--copy=OFF
: Moves files instead of copying[destination_directory]
: Optional, defaults to source directory name
Metadata Generation#
The generate_yaml.py
script extracts simulation parameters.
Usage:
generate_yaml.py <simulation_directory>
- Dependencies:
re
ruamel
argparse
- Output:
Creates
simlog.yaml
in the simulation directory
Visualization Tools#
Frame Generation#
plot_series.py
creates 2D visualizations using LLNL Visit.
Usage:
plot_series.py <field1> [field2...] <simulation_directory>
- Dependencies:
visit
os
sys
Movie Creation#
make_movies.sh
converts image sequences to movies.
Usage:
make_movies.sh <field1> [field2...] <simulation_directory>
- Dependencies:
ffmpeg
Note
Requires existing image sequences generated by plot_series.py
Data Management#
Simulation and Metadata Addition#
add_to_spreadsheet.py
manages simulation data and metadata.
Usage:
add_to_spreadsheet.py <simulation_directory> <output_file.xlsx>
- Features:
Extracts simulation parameters
Manages Excel-based data collection
Records simulation descriptions
Tracks file locations
Integrates with Materials Commons Studies
- Dependencies:
pandas
yaml
os
sys
Synchronization#
Upload data to Materials Commons:
mc up -r .
Best Practices#
- Directory Organization
Keep project directory separate from simulation directory
Maintain consistent naming conventions
Use descriptive simulation directory names
- Metadata Management
Complete description.txt for each simulation
Document observations promptly
Maintain consistent parameter naming
- Version Control
Track code changes
Document simulation versions
Maintain change logs
- Data Synchronization
Regular uploads to Materials Commons
Verify successful transfers
Maintain local backups
Troubleshooting#
Common Issues#
- CLI Connection Issues
Verify API credentials
Check network connectivity
Confirm Materials Commons server status
- File Organization
Ensure correct directory structure
Verify file permissions
Check available disk space
- Visualization Problems
Confirm Visit installation
Verify FFmpeg availability
Check image sequence completeness