Source code for ase2sprkkr.input_parameters.definitions.xas

""" XAS task input parameters definition"""
from ...common.grammar_types import SetOf, DefKeyword, Keyword, Range, Array, flag
from .sections import CONTROL,TASK, TAU, ENERGY, SITES, MODE
from ..input_parameters_definitions import \
    InputParametersDefinition as InputParameters, \
    InputValueDefinition as V, \
    InputSectionDefinition as Section


[docs] def input_parameters(): """ XAS -xas task input parameters definition""" input_parameters = InputParameters('xas', [ CONTROL('XAS'), TAU, MODE, ENERGY(defaults={ 'EMAX':4.0, 'ImE' : 0.01, 'GRID': 6, 'NE' : 180}), TASK('XAS').copy([ V('IT', int,1, is_required=True, info= """atom type IT"""), V('CL', str,'2P',is_required=True, info="""initial core level shell"""), V('MECHECK', flag, False, is_optional=True ), V('OUTPUT',DefKeyword({'MBARN':'output of absorption coefficient µas µ atom = µ Vuc in [Mbarn] ', 'SIGMA':'SIGMA : output as absorptive part of optical conductivity σ = µ c/4π in [10E15/s ]'}), is_expert=True, is_optional=True, info='write extra output'), V('FRAMETET', float, is_expert=True, is_optional=True, info='Polar angle θ (FRAMETET) defining the orientation of the electric field vector of the incident light with respect to the material surface normal. Default is FRAMETET = 0, meaning the field lies along the surface normal.'), V('FRAMEPHI', float, is_expert=True, is_optional=True, info='Azimuthal angle φ (FRAMEPHI) defining the in-plane rotation of the electric field vector of the incident light relative to the surface reference axis. Default is FRAMEPHI = 0, corresponding to alignment with the x-axis of the surface frame.'), ]), SITES ], executable='kkrgen', mpi=True, info="Calculates X-ray absorption spectra" ) return input_parameters