vasp.parameters module#
VASP parameter presets and validation.
Provides convenient parameter sets for common calculation types: - Van der Waals corrections (DFT-D2, DFT-D3, TS, VdW-DF) - DFT+U for strongly correlated systems - Hybrid functionals (HSE06, PBE0, B3LYP) - Spin-orbit coupling - Machine learning force fields (MLFF) - Molecular dynamics - Phonon calculations
- vasp.parameters.get_vdw_params(method)[source]#
Get VASP parameters for van der Waals correction method.
- Parameters:
method (str) – Name of vdW method (e.g., ‘d3’, ‘d3bj’, ‘ts’, ‘vdw-df2’)
- Returns:
Dict of VASP parameters for the vdW correction.
- Raises:
ValueError – If method is not recognized.
- Return type:
Example
>>> params = get_vdw_params('d3bj') >>> calc = Vasp(..., **params)
- class vasp.parameters.HubbardU(u, j=0.0, l_angular=2)[source]#
Bases:
objectHubbard U parameters for DFT+U calculations.
- vasp.parameters.get_ldau_params(symbols, u_values=None, ldautype=2, ldauprint=1, lmaxmix=4)[source]#
Generate DFT+U parameters for given atomic symbols.
Uses the Dudarev (rotationally invariant) approach by default.
- Parameters:
symbols (list[str]) – List of unique atomic symbols in POTCAR order.
u_values (dict[str, float | HubbardU] | None) – Dict mapping symbol to U value or HubbardU object. If None, uses COMMON_U_VALUES for known elements.
ldautype (int) – 1 = Liechtenstein, 2 = Dudarev (simplified).
ldauprint (int) – Verbosity (0, 1, or 2).
lmaxmix (int) – Max l for on-site density matrix mixing.
- Returns:
Dict of VASP parameters for DFT+U.
- Return type:
Example
>>> params = get_ldau_params(['Fe', 'O'], {'Fe': 4.0}) >>> calc = Vasp(..., **params)
- vasp.parameters.get_hybrid_params(functional, nkpts_factor=1)[source]#
Get VASP parameters for hybrid functional calculation.
- Parameters:
- Returns:
Dict of VASP parameters for hybrid calculation.
- Return type:
Example
>>> params = get_hybrid_params('hse06') >>> calc = Vasp(..., xc='PBE', **params)
- vasp.parameters.get_soc_params(saxis=(0, 0, 1), lorbmom=True, gga_compat=True)[source]#
Get parameters for spin-orbit coupling calculation.
Note: Requires vasp_ncl binary compiled without -DNGZhalf.
- Parameters:
- Returns:
Dict of VASP parameters for SOC.
- Return type:
Example
>>> params = get_soc_params() >>> calc = Vasp(..., **params) # Use vasp_ncl!
- class vasp.parameters.MLFFConfig(mode='train', rcut1=8.0, rcut2=4.0, mb=8000, mb3=8000, wtifor=10.0, wtoten=1.0, wtsif=1.0, lmlff=True)[source]#
Bases:
objectConfiguration for machine learning force field.
- Parameters:
- vasp.parameters.get_mlff_params(mode='train', rcut1=8.0, rcut2=4.0, **kwargs)[source]#
Get parameters for machine learning force field.
Requires VASP 6.3+ with MLFF support.
- Parameters:
- Returns:
Dict of VASP MLFF parameters.
- Return type:
Example
>>> # On-the-fly training during MD >>> params = get_mlff_params('train') >>> calc = Vasp(..., ibrion=0, **params)
- vasp.parameters.get_md_params(ensemble='nvt-nose', temperature=300.0, timestep=1.0, nsteps=1000, temperature_final=None)[source]#
Get parameters for molecular dynamics.
- Parameters:
- Returns:
Dict of VASP MD parameters.
- Return type:
Example
>>> params = get_md_params('nvt-nose', temperature=500, nsteps=5000) >>> calc = Vasp(..., **params)
- vasp.parameters.get_phonon_params(method='dfpt', supercell=None)[source]#
Get parameters for phonon calculations.
- Parameters:
- Returns:
Dict of VASP phonon parameters.
- Return type:
Example
>>> params = get_phonon_params('dfpt') >>> calc = Vasp(..., **params)
- vasp.parameters.get_optical_params(nbands=None, nedos=2000)[source]#
Get parameters for optical properties (frequency-dependent dielectric).
- vasp.parameters.get_gw_params(algo='gw0', nbands=None, nomega=50, encutgw=None)[source]#
Get parameters for GW quasiparticle calculation.
- Parameters:
- Returns:
Dict of VASP GW parameters.
- Return type:
Example
>>> params = get_gw_params('gw0', nbands=200) >>> calc = Vasp(..., **params)
- vasp.parameters.get_bse_params(nbands=None, nbandso=None, nbandsv=None)[source]#
Get parameters for BSE optical calculation.
Preset Functions#
- vasp.parameters.get_vdw_params(method)[source]#
Get VASP parameters for van der Waals correction method.
- Parameters:
method (str) – Name of vdW method (e.g., ‘d3’, ‘d3bj’, ‘ts’, ‘vdw-df2’)
- Returns:
Dict of VASP parameters for the vdW correction.
- Raises:
ValueError – If method is not recognized.
- Return type:
Example
>>> params = get_vdw_params('d3bj') >>> calc = Vasp(..., **params)
- vasp.parameters.get_ldau_params(symbols, u_values=None, ldautype=2, ldauprint=1, lmaxmix=4)[source]#
Generate DFT+U parameters for given atomic symbols.
Uses the Dudarev (rotationally invariant) approach by default.
- Parameters:
symbols (list[str]) – List of unique atomic symbols in POTCAR order.
u_values (dict[str, float | HubbardU] | None) – Dict mapping symbol to U value or HubbardU object. If None, uses COMMON_U_VALUES for known elements.
ldautype (int) – 1 = Liechtenstein, 2 = Dudarev (simplified).
ldauprint (int) – Verbosity (0, 1, or 2).
lmaxmix (int) – Max l for on-site density matrix mixing.
- Returns:
Dict of VASP parameters for DFT+U.
- Return type:
Example
>>> params = get_ldau_params(['Fe', 'O'], {'Fe': 4.0}) >>> calc = Vasp(..., **params)
- vasp.parameters.get_hybrid_params(functional, nkpts_factor=1)[source]#
Get VASP parameters for hybrid functional calculation.
- Parameters:
- Returns:
Dict of VASP parameters for hybrid calculation.
- Return type:
Example
>>> params = get_hybrid_params('hse06') >>> calc = Vasp(..., xc='PBE', **params)
- vasp.parameters.get_soc_params(saxis=(0, 0, 1), lorbmom=True, gga_compat=True)[source]#
Get parameters for spin-orbit coupling calculation.
Note: Requires vasp_ncl binary compiled without -DNGZhalf.
- Parameters:
- Returns:
Dict of VASP parameters for SOC.
- Return type:
Example
>>> params = get_soc_params() >>> calc = Vasp(..., **params) # Use vasp_ncl!