|
| 1 | +# Post-Processing Tools for Pizza3 |
| 2 | + |
| 3 | +The `post/` directory contains tools, examples, and resources for post-processing results from LAMMPS simulations. This includes a dedicated MATLAB toolbox for handling SPH (Smoothed Particle Hydrodynamics) simulations, visualization utilities, pre-configured templates, and detailed documentation. |
| 4 | + |
| 5 | +## **Directory Structure** |
| 6 | + |
| 7 | +### **Root Files** |
| 8 | +- **MATLAB Scripts**: Various `.m` files for SPH simulation analysis and related tasks. |
| 9 | + - Example scripts include `interp2SPH.m`, `forceHertz.m`, and `buildVerletList.m`. |
| 10 | +- **Templates**: Pre-configured MATLAB scripts for specific tasks, such as: |
| 11 | + - `Billy_results_template.m` for specific simulation analysis. |
| 12 | +- **Examples**: Ready-to-run examples such as `example1.m` and `example2.m` to help users get started with post-processing. |
| 13 | + |
| 14 | +### **Key Subdirectories** |
| 15 | +- **`docs/`** |
| 16 | + - Documentation files in Markdown, HTML, and PDF formats. |
| 17 | + - Includes descriptions of functions, SPH theory, and examples. |
| 18 | + - Contains assets (images, diagrams) used in documentation. |
| 19 | +- **`dumps/`** |
| 20 | + - Stores simulation output data, organized by use case. |
| 21 | + - Includes sample datasets such as `TIMESTEP_*.mat` for test runs. |
| 22 | +- **`figs/`** |
| 23 | + - Stores MATLAB `.fig` files and PNG exports for visualizations. |
| 24 | + - Organized by example and test cases. |
| 25 | +- **`html/`** |
| 26 | + - Pre-rendered HTML documentation for MATLAB scripts and examples. |
| 27 | + - Includes workshop guides and visual explanations. |
| 28 | +- **`notebook/`** |
| 29 | + - MATLAB Live Script (`.mlx`) files for interactive tutorials and post-processing examples. |
| 30 | + - Contains historical versions of key notebooks. |
| 31 | +- **`draft/`** |
| 32 | + - Drafts for workshops and further development, e.g., `"Workshop on Suspended Particles in a Fluid"`. |
| 33 | + |
| 34 | +## **Key Features** |
| 35 | +### **MATLAB Toolbox** |
| 36 | +- Dedicated tools for SPH simulation: |
| 37 | + - Verlet list construction (`buildVerletList.m`). |
| 38 | + - Force analysis (`forceHertz.m`, `forceLandshoff.m`). |
| 39 | + - Particle packing (`packSPH.m`). |
| 40 | + - Boundary condition handling (`unwrapPBC.m`, `trajunwrap.m`). |
| 41 | + |
| 42 | +### **Documentation** |
| 43 | +- Comprehensive function documentation available in `docs/`: |
| 44 | + - Markdown (`.md`), HTML (`.html`), and PDF (`.pdf`) formats. |
| 45 | + - Example: `forceLandshoff Function Documentation.html`. |
| 46 | + |
| 47 | +### **Workshops** |
| 48 | +- Detailed tutorials and workshops on SPH post-processing available in `html/` and `docs/`. |
| 49 | + |
| 50 | +### **Examples** |
| 51 | +- Ready-to-run MATLAB examples such as `example1.m`, `example2.m`, and their corresponding live scripts in `notebook/`. |
| 52 | + |
| 53 | +## **Getting Started** |
| 54 | +1. **Run MATLAB Examples**: |
| 55 | + - Open any example script in MATLAB, e.g., `example1.m`. |
| 56 | + - Follow the comments in the script to understand the workflow. |
| 57 | + |
| 58 | +2. **Explore Documentation**: |
| 59 | + - Open HTML files in `docs/` or `html/` for guidance on specific functions or workflows. |
| 60 | + |
| 61 | +3. **Use the Toolbox**: |
| 62 | + - Add the `post/` directory to your MATLAB path. |
| 63 | + - Call functions such as `interp2SPH` or `forceHertz` in your scripts. |
| 64 | + |
| 65 | +4. **Analyze Simulation Data**: |
| 66 | + - Use the scripts in `dumps/` as references for processing LAMMPS output files. |
| 67 | + |
| 68 | +## **Dependencies** |
| 69 | +- MATLAB (R2021b or later recommended). |
| 70 | +- Required MATLAB toolboxes: |
| 71 | + - Curve Fitting Toolbox (for interpolation scripts). |
| 72 | + - Optimization Toolbox (optional for advanced post-processing). |
| 73 | + |
| 74 | +## **Contributing** |
| 75 | +- Contributions are welcome! If you add new scripts or documentation: |
| 76 | + - Place new MATLAB scripts in the root directory. |
| 77 | + - Add documentation in `docs/`. |
| 78 | + - Update examples in `examples/`. |
| 79 | + |
| 80 | +## **Notes** |
| 81 | +- Ensure adequate disk space when working with large datasets in `dumps/`. |
| 82 | +- Documentation files in `docs/` can be converted into HTML/PDF using tools like `pandoc`. |
| 83 | + |
| 84 | +## **Contact** |
| 85 | +For support or questions, contact **Olivier Vitrac** at INRAE: |
| 86 | +- Email: [olivier.vitrac@agroparistech.fr](mailto:olivier.vitrac@agroparistech.fr) |
0 commit comments