"""
Demonstration how to chage input SPRKKR file.
"""
[docs]
def main():
from ase.build import bulk
from ase2sprkkr.sprkkr.calculator import SPRKKR
atoms = bulk('Fe')
calculator = SPRKKR(atoms=atoms,mpi=['mpirun','-np','4'])
# print out input parameters. This will be used when calling
# calculator to create corresponding input file. Please note
# that potential filename will be set by method calculate
print("ORIGINAL INPUT PARAMETERS==================")
print(calculator.input_parameters.to_dict())
print("===========================================")
# There are several way to modify parameters
# Lets modify l-expanstion (this will nodify first occurence of NL)
calculator.input_parameters.set(NL=3)
calculator.input_parameters.set(NE=32)
# Lest also change mixing
calculator.input_parameters.SCF.MIX=0.20
calculator.input_parameters.ENERGY.ImE=0.0
# calculator.input_parameters.ENERGY.GRID=[5,3]
print("NEW INPUT PARAMETERS=======================")
print(calculator.input_parameters.to_dict())
print("===========================================")
out=calculator.calculate()
print(out.energy)
print(len(out.iterations))
print(out.iterations[-1]['error'])
print(out.last_iteration['moment'])
# Just run the script only when directly called from command line
if __name__ == "__main__":
main()