lanl / lanl/VPSC_code

Proposal: add a Python GUI pre/post-processing tool for VPSC8

Aperta
#3 0 commenti 1 reazione 0 assegnatari Vedi su GitHub

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. 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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.