Source code for ase2sprkkr.examples.A12_JXC.jxc

"""Calculates the exchange coupling parameters Jij of the Heisenberg model and
Dzyaloshinskii-Moriya interaction."""


[docs] def main(): from ase2sprkkr.sprkkr.calculator import SPRKKR import os print("Starting SPRKKR calculation...") # Initialize calculator calculator = SPRKKR() # Set input parameters print("Setting up input parameters...") calculator.input_parameters = "jxc" calculator.input_parameters.TASK.add("DMI", True) calculator.input_parameters.CONTROL.DATASET = "Fe" # calculator.input_parameters.MODE.MDIR = [1.0, 0.0, 0.0] # Using floats instead of integers # calculator.input_parameters.MODE.MALF = 0.0 # calculator.input_parameters.MODE.MBET = 45.0 # calculator.input_parameters.MODE.MGAM = 0.0 try: potential_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), "Fe.pot_new") result = calculator.calculate( # noqa F841 potential=potential_file, print_output=True, output_file=os.path.join(os.path.dirname(os.path.abspath(__file__)), "Fe_jxc.out"), ) except Exception as e: print(f"Error during calculation: {str(e)}") raise return 0
if __name__ == "__main__": main()