Computational Materials Science
Domain: physical_sciences — Chemistry & Materials Computation

Summary: Your Task Produce benchmark outputs for three staged materials science subcases from the visible structures and pseudopotentials.

Task prompt:
You are a computational materials scientist working on a Linux VM.

## Your Task
Produce benchmark outputs for three staged materials-science subcases from the visible structures and pseudopotentials.

## Input Subcases
- silicon GW band gap: `base/input/silicon`
- silicon GW-BSE absorption: `base/input/silicon-BSE`
- MoSe2 SOC GW-BSE absorption: `base/input/MoSe2-BSE`

## Software
Use the task-local launcher shortcut staged here:
- `base/software/launch_qe_bgw.sh`

Run Quantum ESPRESSO and BerkeleyGW commands through the launcher, for example:
- `base/software/launch_qe_bgw.sh pw.x ...`
- `base/software/launch_qe_bgw.sh epsilon.cplx.x ...`
- `base/software/launch_qe_bgw.sh bash` to open a shell with the QE/BerkeleyGW PATH set

You may also use Python, shell utilities, and editors available on the VM.

## Benchmark Workflow Settings
- For `silicon`, run QE SCF/NSCF followed by BerkeleyGW `epsilon -> sigma -> inteqp`. Use approximately `5x5x5` wavefunction k-point sampling, `10 Ry` dielectric cutoff, and about `39` GW summation bands. Scientific sanity targets: DFT gap near `0.6 eV`, GW gap near `1.1 eV`, indirect VBM at Gamma and CBM near X.
- For `silicon-BSE`, run QE SCF/NSCF followed by BerkeleyGW `epsilon -> sigma -> kernel -> absorption`, plus `inteqp` for quasiparticle band outputs. Use the same benchmark-scale silicon settings: approximately `5x5x5` wavefunction k-point sampling, `10 Ry` dielectric cutoff, and about `39` GW summation bands. Produce absorption with and without electron-hole interaction; a prominent electron-hole peak should be near `3.4 eV`.
- For `MoSe2-BSE`, run QE SCF/NSCF with explicit SOC and noncollinear settings followed by BerkeleyGW `epsilon -> sigma -> kernel -> absorption`. Include 2D truncation, approximately `16x16x1` k-point sampling, about `2500` GW summation bands, `32x32x1` fine-grid interpolation, and screened Coulomb cutoff near `25 Ry`. Scientific sanity targets: direct K-point gap near `1.33 eV` and sharp excitonic absorption peak near `1.61 eV`.

## What You Must Do
1. Create the missing Quantum ESPRESSO and BerkeleyGW input decks from scratch for each subcase.
2. Run the silicon GW workflow and save its required outputs under `base/output/silicon`.
3. Run the silicon GW+BSE workflow and save its required outputs under `base/output/silicon-BSE`.
4. Run the SOC-enabled monolayer MoSe2 GW+BSE workflow and save its required outputs under `base/output/MoSe2-BSE`.

## Required Output Files

### silicon
- `base/output/silicon/bandstructure.dat`
- `base/output/silicon/eqp.dat`
- `base/output/silicon/bandstructure_inteqp.png`

### silicon-BSE
- `base/output/silicon-BSE/bandstructure.dat`
- `base/output/silicon-BSE/eqp.dat`
- `base/output/silicon-BSE/eqp_q.dat`
- `base/output/silicon-BSE/absorption_eh.dat`
- `base/output/silicon-BSE/absorption_noeh.dat`
- `base/output/silicon-BSE/eigenvalues.dat`
- `base/output/silicon-BSE/eigenvalues_noeh.dat`
- `base/output/silicon-BSE/bandstructure_inteqp.png`
- `base/output/silicon-BSE/absorption.png`

### MoSe2-BSE
- `base/output/MoSe2-BSE/MoSe2_bands.dat.gnu`
- `base/output/MoSe2-BSE/MoSe2_bands.png`
- `base/output/MoSe2-BSE/absorption_eh.dat`
- `base/output/MoSe2-BSE/exciton_absorption_spectra_avg.png`

Do not write outputs outside `base/output`.

Required actions:
Run the `silicon/` subcase as a QE SCF/NSCF plus BerkeleyGW `epsilon -> sigma -> inteqp` workflow with approximately `5x5x5` wavefunction k-point sampling, `10 Ry` dielectric cutoff, and about `39` GW summation bands.
Run the `silicon-BSE/` subcase as a QE SCF/NSCF plus BerkeleyGW `epsilon -> sigma -> kernel -> absorption` workflow, with `inteqp` for quasiparticle band outputs and the same benchmark-scale silicon settings.
Run the `MoSe2-BSE/` subcase with explicit SOC/noncollinear QE settings, 2D truncation, approximately `16x16x1` k-point sampling, about `2500` GW summation bands, `32x32x1` fine-grid interpolation, and screened Coulomb cutoff near `25 Ry`.
Write outputs under `output/silicon/`, `output/silicon-BSE/`, and `output/MoSe2-BSE/` with the required filenames.

Software: Python
Quantum ESPRESSO
BerkeleyGW

Input files:
name: Silicon GW input subtree
format: mixed
description: bulk silicon GW case
name: Silicon BSE input subtree
format: mixed
description: bulk silicon GW+BSE case
name: MoSe2 BSE input subtree
format: mixed
description: SOC-enabled monolayer MoSe2 case