Proposal: add a Python GUI pre/post-processing tool for VPSC8
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TeX
- Sterne
- 62
- Forks
- 19
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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.sxfiles (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).
- Interactive preview and editing for
- 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)
- Direct plotting and high-resolution export for standard VPSC output files, including:
Proposed Repository Structure
We can contribute this package as a standalone module placed under:
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)
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der Überprüfung der vorgeschlagenen tools/vpsc_gui/-Struktur und der vorhandenen Repository-Dokumentation, um festzustellen, ob die GUI integriert oder lediglich referenziert werden sollte. Prüfe den Umfang der vorgeschlagenen README, Beispiele und requirements.txt; abgeschlossen bedeutet, dass das Repository einen abgestimmten Integrations- oder Dokumentationspfad für VPSC-GUI hat.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- desktop, documentation
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100