Proposal: add a Python GUI pre/post-processing tool for VPSC8
Nessuno ha ancora preso questa issue.
- Lingua principale
- TeX
- Stelle
- 62
- Fork
- 19
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
### Summary
We have developed **VPSC-GUI**, an open-source, Python/Tkinter-based graphical user interface for VPSC8. It is designed to streamline the pre-processing, execution, and post-processing workflow without modifying the original Fortran solver.
This tool has recently been documented and peer-reviewed in *SoftwareX*:
> **VPSC-GUI: A Python graphical pre- and post-processing environment for the Visco-Plastic Self-Consistent code**
> *SoftwareX*, 2026. (DOI/Version v1.0.1)
We would like to propose integrating/linking this graphical tool into the main repository (e.g., under `tools/vpsc_gui/` or referencing it in the documentation) to help new users and students lower the operational barrier to VPSC modeling.
---
### Key Features
- **Structured Pre-Processing:**
- Interactive preview and editing for `VPSC8.IN`, single-crystal `.sx` files (FCC, BCC, HCP; Voce hardening and raw text fallback), and process/loading files.
- Multi-phase aware handling (support for multi-phase `.sx`, texture files, and phase-resolved output parsing).
- **Boundary Condition Visualizer:**
- Real-time 2D grid/deformation visualization for imposed velocity gradient tensor L and Cauchy stress constraints to catch input errors before launching.
- **Isolated Execution & Traceability:**
- Automated generation of a clean, isolated Fortran-compatible run directory without altering any core Fortran source code.
- **Integrated Post-Processing & Visualization:**
- Direct plotting and high-resolution export for standard VPSC output files, including:
- `STR_STR.OUT` (Stress-strain response)
- `ACT_PH*.OUT` (Slip/twinning activity)
- `TEX_PH*.OUT` (Pole figures and Inverse pole figures using Lambert equal-area projection)
- `LANKFORD.OUT` (Lankford coefficients / R-value anisotropy and directional Young's moduli)
- `PCYS.OUT` (Polycrystal yield loci)
---
### Proposed Repository Structure
We can contribute this package as a standalone module placed under:
```text
tools/vpsc_gui/
├── vpsc_gui/ # Core Python GUI source code
├── examples/ # Benchmark cases (FCC rolling, HCP compression, BCC/FCC tension)
├── README.md # Quick start guide and user documentation
└── requirements.txt # Lightweight dependencies (tkinter, numpy, matplotlib)
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia esaminando la struttura proposta tools/vpsc_gui/ e la documentazione esistente del repository per determinare se la GUI debba essere integrata o soltanto referenziata. Verifica l'ambito del README, degli esempi e di requirements.txt proposti; il lavoro è completato quando il repository dispone di un percorso concordato di integrazione o documentazione per VPSC-GUI.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- desktop, documentation
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Tranquilla
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 35/100