PAOFLOW.pyskeaf.runner#
High-level driver that orchestrates a SKEAF run for one (θ, φ) angle.
Phase 4: run_at_angle glues slice / orbit / averaging modules together.
Phase 5: run_skeaf consumes a PAOFLOW.pyskeaf.config.SkeafConfig directly,
including the hvd H-vector setup and the hvd == 'r' rotation sweep,
and writes all five Fortran-compatible output files.
Phase 6: optional joblib parallelism over the angle sweep
(cfg.n_jobs) plus structured logging progress reports.
The Fortran main program around skeaf_v1p3p0_r149.F90 lines 1100–2950 is the reference for the call sequence.
Attributes#
Classes#
The calculation or skip outcome for one PAOFLOW BXSF file. |
Functions#
|
Run a single-angle SKEAF analysis. |
|
Convenience wrapper: call |
|
Top-level driver: run SKEAF as defined by |
|
Run selected PAOFLOW BXSF bands whose energy ranges contain |
Module Contents#
- class PAOFLOW.pyskeaf.runner.BXSFRun[source]#
The calculation or skip outcome for one PAOFLOW BXSF file.
- path: pathlib.Path[source]#
- result: PAOFLOW.pyskeaf.results.SKEAFResult | None = None[source]#
- PAOFLOW.pyskeaf.runner.run_at_angle(bxsf, theta, phi, *, numint, fermi_energy=None, min_freq_kT=0.0, freq_same_frac=0.01, avg_same_frac=0.05, allow_near_walls=False)[source]#
Run a single-angle SKEAF analysis.
See module docstring for details. Returns a
SKEAFResultwhoseorbitslist contains oneOrbitper averaged extremum.
- PAOFLOW.pyskeaf.runner.run_angle_sweep(bxsf, angles_rad, *, numint, **kwargs)[source]#
Convenience wrapper: call
run_at_angle()for each row ofangles_rad.angles_radhas shape(n_angles, 2)with columns(theta, phi). Returns a singleSKEAFResultwhoseorbitslist is the concatenation of all per-angle orbits, in the order the angles were given.
- PAOFLOW.pyskeaf.runner.run_skeaf(config, bxsf=None, *, write_files=True, output_dir=None, output_suffix='')[source]#
Top-level driver: run SKEAF as defined by
config.- Parameters:
config – Either a
SkeafConfiginstance or a path to aconfig.infile.bxsf – Pre-loaded BXSF dataset. If
None, loaded fromconfig.filename.write_files – When True (default) the five Fortran-compatible output files are written to
output_dir(cwd if not given).output_dir – Destination directory for output files. Created if missing.
- PAOFLOW.pyskeaf.runner.run_paoflow_bxsf_files(config, *, input_dir, filenames=None, all_files=False, output_dir=None, write_files=True)[source]#
Run selected PAOFLOW BXSF bands whose energy ranges contain
E_F.PAOFLOW BXSF grids and the Fermi-energy field in
config.inuse eV.read_config_in()converts that field to internal Rydberg, so it is converted back to eV here for the eligibility test. Select arbitrary BXSF names withfilenamesor every*.bxsfininput_dirwithall_files=True. If neither is supplied, the legacy filename inconfig.inis used.Output files use the trailing numeric band index when present, e.g.
results_short_1.outforFermi_surf_band_1.bxsf. Arbitrary filenames use their complete stem, e.g.results_short_manual_name.out.