PAOFLOW.pyskeaf.config#

config.in round-trip support for pyskeaf.

The Fortran code reads config.in with fixed-format read statements (see skeaf_v1p3p0_r149.F90 lines 564–589) and writes it with fixed-width write statements (lines 874–891). The tagline at the right of every line is decorative — only the leading numeric/character field is parsed. This module preserves that layout, but uses eV for the Fermi-energy field and converts it to Rydberg for pyskeaf’s internal numerical routines.

Attributes#

Classes#

SkeafConfig

All user-tunable parameters that drive a SKEAF run.

Functions#

read_config_in([path])

Parse a config.in file in the format produced by the Fortran SKEAF.

write_config_in(cfg[, path])

Write cfg using the SKEAF fixed-width layout.

Module Contents#

PAOFLOW.pyskeaf.config.RYDBERG_IN_EV = 13.605693122994[source]#
class PAOFLOW.pyskeaf.config.SkeafConfig[source]#

All user-tunable parameters that drive a SKEAF run.

Angles are stored internally in radians (matching the Fortran globals after conversion); the config.in file always uses degrees.

filename: str = ''[source]#
fermi_energy: float = 0.0[source]#
numint: int = 1[source]#
theta: float = 0.0[source]#
phi: float = 0.0[source]#
hvd: str = 'a'[source]#
min_extfreq: float = 0.0[source]#
freq_same_frac: float = 0.01[source]#
avg_same_frac: float = 0.05[source]#
allow_ext_near_walls: bool = False[source]#
theta_start: float = 0.0[source]#
theta_end: float = 0.0[source]#
phi_start: float = 0.0[source]#
phi_end: float = 0.0[source]#
num_rots: int = 1[source]#
n_jobs: int = 1[source]#
PAOFLOW.pyskeaf.config.read_config_in(path='config.in')[source]#

Parse a config.in file in the format produced by the Fortran SKEAF.

The Fermi energy is converted from eV in the file to Rydberg internally. Angles are converted from degrees in the file to radians internally.

PAOFLOW.pyskeaf.config.write_config_in(cfg, path='config.in')[source]#

Write cfg using the SKEAF fixed-width layout.

cfg.fermi_energy is stored internally in Rydberg and converted to eV for the second line of config.in.