lanl / lanl/VPSC_code

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

Offen
#3 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

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 .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:

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

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.