|
|
|
@ -2,7 +2,7 @@
|
|
|
|
|
"cells": [
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 24,
|
|
|
|
|
"execution_count": 13,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
@ -11,23 +11,16 @@
|
|
|
|
|
"'0.14.3'"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"execution_count": 24,
|
|
|
|
|
"execution_count": 13,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"output_type": "execute_result"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"import os\n",
|
|
|
|
|
"from tqdm import tqdm\n",
|
|
|
|
|
"from sys import getsizeof\n",
|
|
|
|
|
"from timeit import default_timer as timer\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"os.environ[\"OMP_NUM_THREADS\"] = \"1\" # export OMP_NUM_THREADS=4\n",
|
|
|
|
|
"os.environ[\"OPENBLAS_NUM_THREADS\"] = \"1\" # export OPENBLAS_NUM_THREADS=4\n",
|
|
|
|
|
"os.environ[\"MKL_NUM_THREADS\"] = \"1\" # export MKL_NUM_THREADS=6\n",
|
|
|
|
|
"os.environ[\"VECLIB_MAXIMUM_THREADS\"] = \"1\" # export VECLIB_MAXIMUM_THREADS=4\n",
|
|
|
|
|
"os.environ[\"NUMEXPR_NUM_THREADS\"] = \"1\" # export NUMEXPR_NUM_THREADS=6\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"import numpy as np\n",
|
|
|
|
|
"import sisl\n",
|
|
|
|
|
"from src.grogu_magn.useful import *\n",
|
|
|
|
@ -47,18 +40,7 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 25,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [],
|
|
|
|
|
"source": [
|
|
|
|
|
"dat = sisl.io.siesta.eigSileSiesta(\n",
|
|
|
|
|
" \"/Users/danielpozsar/Downloads/nojij/Fe3GeTe2/monolayer/soc/lat3_791/Fe3GeTe2.EIG\"\n",
|
|
|
|
|
")"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 26,
|
|
|
|
|
"execution_count": 14,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
@ -67,18 +49,21 @@
|
|
|
|
|
"-12.806878959999999"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"execution_count": 26,
|
|
|
|
|
"execution_count": 14,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"output_type": "execute_result"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"dat = sisl.io.siesta.eigSileSiesta(\n",
|
|
|
|
|
" \"/Users/danielpozsar/Downloads/nojij/Fe3GeTe2/monolayer/soc/lat3_791/Fe3GeTe2.EIG\"\n",
|
|
|
|
|
")\n",
|
|
|
|
|
"dat.read_data().min()"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 27,
|
|
|
|
|
"execution_count": null,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
@ -87,9 +72,9 @@
|
|
|
|
|
"text": [
|
|
|
|
|
"================================================================================================================================================================\n",
|
|
|
|
|
"Input file: \n",
|
|
|
|
|
"Not yet specified.\n",
|
|
|
|
|
"/Users/danielpozsar/Downloads/nojij/Fe3GeTe2/monolayer/soc/lat3_791/Fe3GeTe2.fdf\n",
|
|
|
|
|
"Output file: \n",
|
|
|
|
|
"test.pickle\n",
|
|
|
|
|
"Fe3GeTe2.pickle\n",
|
|
|
|
|
"Number of nodes in the parallel cluster: 1\n",
|
|
|
|
|
"================================================================================================================================================================\n",
|
|
|
|
|
"Cell [Ang]: \n",
|
|
|
|
@ -105,26 +90,26 @@
|
|
|
|
|
"[0 0 1] --» [array([1, 0, 0]), array([0, 1, 0])]\n",
|
|
|
|
|
"================================================================================================================================================================\n",
|
|
|
|
|
"Parameters for the contour integral:\n",
|
|
|
|
|
"Number of k points: 20\n",
|
|
|
|
|
"Number of k points: 100\n",
|
|
|
|
|
"k point directions: xy\n",
|
|
|
|
|
"Ebot: -13\n",
|
|
|
|
|
"Eset: 600\n",
|
|
|
|
|
"Eset: 60\n",
|
|
|
|
|
"Esetp: 10000\n",
|
|
|
|
|
"================================================================================================================================================================\n",
|
|
|
|
|
"Setup done. Elapsed time: 198.668371833 s\n",
|
|
|
|
|
"Setup done. Elapsed time: 291.062782833 s\n",
|
|
|
|
|
"================================================================================================================================================================\n"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"# this cell mimicks an input file\n",
|
|
|
|
|
"fdf = sisl.get_sile(\n",
|
|
|
|
|
"################################################################################\n",
|
|
|
|
|
"#################################### INPUT #####################################\n",
|
|
|
|
|
"################################################################################\n",
|
|
|
|
|
"path = (\n",
|
|
|
|
|
" \"/Users/danielpozsar/Downloads/nojij/Fe3GeTe2/monolayer/soc/lat3_791/Fe3GeTe2.fdf\"\n",
|
|
|
|
|
") # ./Jij_for_Marci_6p45ang/CrBr.fdf\n",
|
|
|
|
|
")\n",
|
|
|
|
|
"outfile = \"Fe3GeTe2\"\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"outfile = \"test\"\n",
|
|
|
|
|
"if not outfile.endswith(\".pickle\"):\n",
|
|
|
|
|
" outfile += \".pickle\"\n",
|
|
|
|
|
"# this information needs to be given at the input!!\n",
|
|
|
|
|
"scf_xcf_orientation = np.array([0, 0, 1]) # z\n",
|
|
|
|
|
"# list of reference directions for around which we calculate the derivatives\n",
|
|
|
|
@ -136,52 +121,38 @@
|
|
|
|
|
" dict(o=np.array([0, 1, 0]), vw=[np.array([1, 0, 0]), np.array([0, 0, 1])]),\n",
|
|
|
|
|
" dict(o=np.array([0, 0, 1]), vw=[np.array([1, 0, 0]), np.array([0, 1, 0])]),\n",
|
|
|
|
|
"]\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"# human readable definition of magnetic entities ./lat3_791/Fe3GeTe2.fdf\n",
|
|
|
|
|
"magnetic_entities = [\n",
|
|
|
|
|
" dict(atom=3, l=2),\n",
|
|
|
|
|
" dict(atom=4, l=2),\n",
|
|
|
|
|
" dict(atom=5, l=2),\n",
|
|
|
|
|
"]\n",
|
|
|
|
|
"# pair information ./lat3_791/Fe3GeTe2.fdf\n",
|
|
|
|
|
"pairs = [\n",
|
|
|
|
|
" # isotropic should be -82 meV\n",
|
|
|
|
|
" dict(ai=0, aj=1, Ruc=np.array([0, 0, 0])),\n",
|
|
|
|
|
" dict(ai=0, aj=2, Ruc=np.array([0, 0, 0])),\n",
|
|
|
|
|
" dict(ai=1, aj=2, Ruc=np.array([0, 0, 0])),\n",
|
|
|
|
|
"]\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"\"\"\"\n",
|
|
|
|
|
"# human readable definition of magnetic entities ./Jij_for_Marci_6p45ang/CrBr.fdf\n",
|
|
|
|
|
"magnetic_entities = [\n",
|
|
|
|
|
" dict(atom=0, l=2),\n",
|
|
|
|
|
" dict(atom=1, l=2),\n",
|
|
|
|
|
" dict(atom=2, l=2),\n",
|
|
|
|
|
"]\n",
|
|
|
|
|
"# pair information ./Jij_for_Marci_6p45ang/CrBr.fdf\n",
|
|
|
|
|
"pairs = [\n",
|
|
|
|
|
" dict(ai=0, aj=1, Ruc=np.array([0, 0, 0])),\n",
|
|
|
|
|
" dict(ai=0, aj=2, Ruc=np.array([0, 0, 0])),\n",
|
|
|
|
|
" dict(ai=1, aj=2, Ruc=np.array([0, 0, 0])),\n",
|
|
|
|
|
" dict(ai=0, aj=1, Ruc=np.array([1, 0, 0])),\n",
|
|
|
|
|
" dict(ai=0, aj=2, Ruc=np.array([1, 0, 0])),\n",
|
|
|
|
|
" dict(ai=1, aj=2, Ruc=np.array([1, 0, 0])),\n",
|
|
|
|
|
" dict(ai=0, aj=1, Ruc=np.array([-1, 0, 0])),\n",
|
|
|
|
|
" dict(ai=0, aj=2, Ruc=np.array([-1, 0, 0])),\n",
|
|
|
|
|
" dict(ai=1, aj=2, Ruc=np.array([-1, 0, 0])),\n",
|
|
|
|
|
" dict(ai=0, aj=1, Ruc=np.array([0, 1, 0])),\n",
|
|
|
|
|
" dict(ai=0, aj=2, Ruc=np.array([0, 1, 0])),\n",
|
|
|
|
|
" dict(ai=0, aj=1, Ruc=np.array([0, 1, 0])),\n",
|
|
|
|
|
" dict(ai=0, aj=2, Ruc=np.array([0, 1, 0])),\n",
|
|
|
|
|
" dict(ai=1, aj=2, Ruc=np.array([0, 1, 0])),\n",
|
|
|
|
|
" dict(ai=0, aj=1, Ruc=np.array([0, -1, 0])),\n",
|
|
|
|
|
" dict(ai=0, aj=2, Ruc=np.array([0, -1, 0])),\n",
|
|
|
|
|
" dict(ai=1, aj=2, Ruc=np.array([0, -1, 0])),\n",
|
|
|
|
|
"]\n",
|
|
|
|
|
"\"\"\"\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"# Brilloun zone sampling and Green function contour integral\n",
|
|
|
|
|
"kset = 20\n",
|
|
|
|
|
"kset = 10\n",
|
|
|
|
|
"kdirs = \"xy\"\n",
|
|
|
|
|
"ebot = -13\n",
|
|
|
|
|
"eset = 600\n",
|
|
|
|
|
"eset = 60\n",
|
|
|
|
|
"esetp = 10000\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"################################################################################\n",
|
|
|
|
|
"#################################### INPUT #####################################\n",
|
|
|
|
|
"################################################################################\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"# MPI parameters\n",
|
|
|
|
|
"comm = MPI.COMM_WORLD\n",
|
|
|
|
@ -189,8 +160,12 @@
|
|
|
|
|
"rank = comm.Get_rank()\n",
|
|
|
|
|
"root_node = 0\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"# rename outfile\n",
|
|
|
|
|
"if not outfile.endswith(\".pickle\"):\n",
|
|
|
|
|
" outfile += \".pickle\"\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"simulation_parameters = dict(\n",
|
|
|
|
|
" path=\"Not yet specified.\",\n",
|
|
|
|
|
" path=path,\n",
|
|
|
|
|
" outpath=outfile,\n",
|
|
|
|
|
" scf_xcf_orientation=scf_xcf_orientation,\n",
|
|
|
|
|
" ref_xcf_orientations=ref_xcf_orientations,\n",
|
|
|
|
@ -203,6 +178,8 @@
|
|
|
|
|
")\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"# digestion of the input\n",
|
|
|
|
|
"# read sile\n",
|
|
|
|
|
"fdf = sisl.get_sile(path)\n",
|
|
|
|
|
"# read in hamiltonian\n",
|
|
|
|
|
"dh = fdf.read_hamiltonian()\n",
|
|
|
|
|
"simulation_parameters[\"cell\"] = fdf.read_geometry().cell\n",
|
|
|
|
@ -221,7 +198,7 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 28,
|
|
|
|
|
"execution_count": 23,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
@ -294,14 +271,14 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 29,
|
|
|
|
|
"execution_count": 24,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"Hamiltonian and exchange field rotated. Elapsed time: 199.591100666 s\n",
|
|
|
|
|
"Hamiltonian and exchange field rotated. Elapsed time: 292.32726 s\n",
|
|
|
|
|
"================================================================================================================================================================\n"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
@ -403,14 +380,14 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 30,
|
|
|
|
|
"execution_count": 25,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"Site and pair dictionaries created. Elapsed time: 199.638437125 s\n",
|
|
|
|
|
"Site and pair dictionaries created. Elapsed time: 292.347581791 s\n",
|
|
|
|
|
"================================================================================================================================================================\n"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
@ -518,21 +495,22 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 31,
|
|
|
|
|
"execution_count": 26,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"name": "stderr",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"k loop: 0%| | 0/400 [00:00<?, ?it/s]"
|
|
|
|
|
"k loop: 0%| | 0/100 [00:37<?, ?it/s]\n",
|
|
|
|
|
"k loop: 0%| | 0/10000 [00:00<?, ?it/s]"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"k set created. Elapsed time: 199.64839675 s\n",
|
|
|
|
|
"k set created. Elapsed time: 292.813134416 s\n",
|
|
|
|
|
"================================================================================================================================================================\n"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
@ -553,14 +531,14 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 32,
|
|
|
|
|
"execution_count": 8,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"Rotations done perpendicular to quantization axis. Elapsed time: 199.979076 s\n",
|
|
|
|
|
"Rotations done perpendicular to quantization axis. Elapsed time: 135.307556041 s\n",
|
|
|
|
|
"================================================================================================================================================================\n"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
@ -616,7 +594,7 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 33,
|
|
|
|
|
"execution_count": 9,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
@ -624,15 +602,15 @@
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"Starting matrix inversions\n",
|
|
|
|
|
"Total number of k points: 400\n",
|
|
|
|
|
"Number of energy samples per k point: 600\n",
|
|
|
|
|
"Total number of k points: 100\n",
|
|
|
|
|
"Number of energy samples per k point: 60\n",
|
|
|
|
|
"Total number of directions: 3\n",
|
|
|
|
|
"Total number of matrix inversions: 720000\n",
|
|
|
|
|
"Total number of matrix inversions: 18000\n",
|
|
|
|
|
"The shape of the Hamiltonian and the Greens function is 84x84=7056\n",
|
|
|
|
|
"Memory taken by a single Hamiltonian is: 0.015625 KB\n",
|
|
|
|
|
"Expected memory usage per matrix inversion: 0.5 KB\n",
|
|
|
|
|
"Expected memory usage per k point for parallel inversion: 900.0 KB\n",
|
|
|
|
|
"Expected memory usage on root node: 351.5625 MB\n",
|
|
|
|
|
"Expected memory usage per k point for parallel inversion: 90.0 KB\n",
|
|
|
|
|
"Expected memory usage on root node: 8.7890625 MB\n",
|
|
|
|
|
"================================================================================================================================================================\n"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
@ -640,14 +618,14 @@
|
|
|
|
|
"name": "stderr",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"k loop: 100%|██████████| 400/400 [2:12:33<00:00, 19.88s/it] "
|
|
|
|
|
"k loop: 100%|██████████| 100/100 [00:35<00:00, 2.82it/s]"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"Calculated Greens functions. Elapsed time: 1375.51451525 s\n",
|
|
|
|
|
"Calculated Greens functions. Elapsed time: 170.554620458 s\n",
|
|
|
|
|
"================================================================================================================================================================\n"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
@ -751,7 +729,7 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 34,
|
|
|
|
|
"execution_count": 10,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
@ -764,9 +742,9 @@
|
|
|
|
|
"##################################################################### GROGU OUTPUT #############################################################################\n",
|
|
|
|
|
"================================================================================================================================================================\n",
|
|
|
|
|
"Input file: \n",
|
|
|
|
|
"Not yet specified.\n",
|
|
|
|
|
"/Users/danielpozsar/Downloads/nojij/Fe3GeTe2/monolayer/soc/lat3_791/Fe3GeTe2.fdf\n",
|
|
|
|
|
"Output file: \n",
|
|
|
|
|
"test.pickle\n",
|
|
|
|
|
"Fe3GeTe2.pickle\n",
|
|
|
|
|
"Number of nodes in the parallel cluster: 1\n",
|
|
|
|
|
"================================================================================================================================================================\n",
|
|
|
|
|
"Cell [Ang]: \n",
|
|
|
|
@ -782,10 +760,10 @@
|
|
|
|
|
"[0 0 1] --» [array([1, 0, 0]), array([0, 1, 0])]\n",
|
|
|
|
|
"================================================================================================================================================================\n",
|
|
|
|
|
"Parameters for the contour integral:\n",
|
|
|
|
|
"Number of k points: 20\n",
|
|
|
|
|
"Number of k points: 10\n",
|
|
|
|
|
"k point directions: xy\n",
|
|
|
|
|
"Ebot: -13\n",
|
|
|
|
|
"Eset: 600\n",
|
|
|
|
|
"Eset: 60\n",
|
|
|
|
|
"Esetp: 10000\n",
|
|
|
|
|
"================================================================================================================================================================\n",
|
|
|
|
|
"Atomic information: \n",
|
|
|
|
@ -804,68 +782,294 @@
|
|
|
|
|
"Magnetic entity1 Magnetic entity2 [i j k] d [Ang]\n",
|
|
|
|
|
"----------------------------------------------------------------------------------------------------------------------------------------------------------------\n",
|
|
|
|
|
"[3]Fe(2) [4]Fe(2) [0 0 0] d [Ang] Not yet.\n",
|
|
|
|
|
"Isotropic: -61.575578560021754\n",
|
|
|
|
|
"DMI: [-9.32925576e-01 -6.69311832e-04 -1.27860983e-06]\n",
|
|
|
|
|
"Symmetric-anisotropy: [ 3.27134566e-01 -2.18826996e-06 1.11817934e-06 -2.18826996e-06\n",
|
|
|
|
|
" 2.93842716e+00 -2.84299672e-05 1.11817934e-06 -2.84299672e-05\n",
|
|
|
|
|
" -3.26556173e+00]\n",
|
|
|
|
|
"Isotropic: -37.10407661401345\n",
|
|
|
|
|
"DMI: [-3.49488624e-01 2.55729732e-04 -2.76782696e-07]\n",
|
|
|
|
|
"Symmetric-anisotropy: [ 1.17610396e+00 -2.12018279e-05 -1.68775278e-06 -2.12018279e-05\n",
|
|
|
|
|
" 1.26217741e+00 -6.17661677e-07 -1.68775278e-06 -6.17661677e-07\n",
|
|
|
|
|
" -2.43828137e+00]\n",
|
|
|
|
|
"J: [-3.59279727e+01 -2.12018279e-05 -1.68775278e-06 -2.12018279e-05\n",
|
|
|
|
|
" -3.58418992e+01 -6.17661677e-07 -1.68775278e-06 -6.17661677e-07\n",
|
|
|
|
|
" -3.95423580e+01]\n",
|
|
|
|
|
"Energies for debugging: \n",
|
|
|
|
|
"array([[-6.21988435e-02, -9.32897146e-04, 9.32954006e-04,\n",
|
|
|
|
|
" -6.14460702e-02],\n",
|
|
|
|
|
" [-6.74834371e-02, 6.68193653e-07, -6.70430011e-07,\n",
|
|
|
|
|
" -6.66686592e-02],\n",
|
|
|
|
|
" [-5.58282326e-02, 9.09660134e-10, 3.46687979e-09,\n",
|
|
|
|
|
" -5.58282288e-02]])\n",
|
|
|
|
|
"array([[-3.94549786e-02, -3.49488006e-04, 3.49489241e-04,\n",
|
|
|
|
|
" -3.91968963e-02],\n",
|
|
|
|
|
" [-3.96297374e-02, -2.54041979e-07, 2.57417485e-07,\n",
|
|
|
|
|
" -3.93690691e-02],\n",
|
|
|
|
|
" [-3.24869021e-02, 2.09250452e-08, 2.14786106e-08,\n",
|
|
|
|
|
" -3.24868762e-02]])\n",
|
|
|
|
|
"J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n",
|
|
|
|
|
"array([-0.06666866, -0.05582823, -0.06219884])\n",
|
|
|
|
|
"array([-0.03936907, -0.0324869 , -0.03945498])\n",
|
|
|
|
|
"Test J_xx = E(y,z) = E(z,y)\n",
|
|
|
|
|
"-0.06666865917296813 -0.055828228814894104\n",
|
|
|
|
|
"-0.0393690691402239 -0.03248687617162827\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[3]Fe(2) [5]Fe(2) [0 0 0] d [Ang] Not yet.\n",
|
|
|
|
|
"Isotropic: -60.54611612367399\n",
|
|
|
|
|
"DMI: [ 3.78484434e+00 -6.14206310e+00 1.63244853e-04]\n",
|
|
|
|
|
"Symmetric-anisotropy: [ 0.20562843 0.07121269 -0.0931207 0.07121269 0.01213322 -0.04251871\n",
|
|
|
|
|
" -0.0931207 -0.04251871 -0.21776164]\n",
|
|
|
|
|
"Isotropic: -65.61259672738467\n",
|
|
|
|
|
"DMI: [ 3.55875363e+00 -6.14764701e+00 2.16400609e-05]\n",
|
|
|
|
|
"Symmetric-anisotropy: [-0.0859418 0.03699169 -0.10152731 0.03699169 -0.29085831 -0.04979059\n",
|
|
|
|
|
" -0.10152731 -0.04979059 0.37680011]\n",
|
|
|
|
|
"J: [-6.56985385e+01 3.69916940e-02 -1.01527307e-01 3.69916940e-02\n",
|
|
|
|
|
" -6.59034550e+01 -4.97905921e-02 -1.01527307e-01 -4.97905921e-02\n",
|
|
|
|
|
" -6.52357966e+01]\n",
|
|
|
|
|
"Energies for debugging: \n",
|
|
|
|
|
"array([[-6.08734388e-02, 3.82736305e-03, -3.74232563e-03,\n",
|
|
|
|
|
" -6.11763023e-02],\n",
|
|
|
|
|
" [-6.06543168e-02, 6.23518381e-03, -6.04894240e-03,\n",
|
|
|
|
|
" -6.08718006e-02],\n",
|
|
|
|
|
" [-5.98916636e-02, -7.10494409e-05, -7.13759306e-05,\n",
|
|
|
|
|
" -5.98091748e-02]])\n",
|
|
|
|
|
"array([[-6.53628254e-02, 3.60854422e-03, -3.50896304e-03,\n",
|
|
|
|
|
" -6.58406049e-02],\n",
|
|
|
|
|
" [-6.51087679e-02, 6.24917432e-03, -6.04611971e-03,\n",
|
|
|
|
|
" -6.54738265e-02],\n",
|
|
|
|
|
" [-6.59663052e-02, -3.69700539e-05, -3.70133340e-05,\n",
|
|
|
|
|
" -6.59232506e-02]])\n",
|
|
|
|
|
"J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n",
|
|
|
|
|
"array([-0.0608718 , -0.05989166, -0.06087344])\n",
|
|
|
|
|
"array([-0.06547383, -0.06596631, -0.06536283])\n",
|
|
|
|
|
"Test J_xx = E(y,z) = E(z,y)\n",
|
|
|
|
|
"-0.06087180064052234 -0.05980917475210674\n",
|
|
|
|
|
"-0.06547382649599318 -0.06592325055847004\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[4]Fe(2) [5]Fe(2) [0 0 0] d [Ang] Not yet.\n",
|
|
|
|
|
"Isotropic: -60.54211382677383\n",
|
|
|
|
|
"DMI: [-3.79969677e+00 6.15441158e+00 1.64058302e-04]\n",
|
|
|
|
|
"Symmetric-anisotropy: [ 0.20695438 0.07120989 0.08986466 0.07120989 0.00574537 0.03644448\n",
|
|
|
|
|
" 0.08986466 0.03644448 -0.21269975]\n",
|
|
|
|
|
"Isotropic: -65.61291582804701\n",
|
|
|
|
|
"DMI: [-3.57656657e+00 6.16370250e+00 1.72769889e-05]\n",
|
|
|
|
|
"Symmetric-anisotropy: [-0.08507475 0.03698984 0.09551784 0.03698984 -0.29208857 0.04348767\n",
|
|
|
|
|
" 0.09551784 0.04348767 0.37716332]\n",
|
|
|
|
|
"J: [-6.56979906e+01 3.69898372e-02 9.55178378e-02 3.69898372e-02\n",
|
|
|
|
|
" -6.59050044e+01 4.34876702e-02 9.55178378e-02 4.34876702e-02\n",
|
|
|
|
|
" -6.52357525e+01]\n",
|
|
|
|
|
"Energies for debugging: \n",
|
|
|
|
|
"array([[-6.53645241e-02, -3.62005424e-03, 3.53307890e-03,\n",
|
|
|
|
|
" -6.58436843e-02],\n",
|
|
|
|
|
" [-6.51069809e-02, -6.25922034e-03, 6.06818466e-03,\n",
|
|
|
|
|
" -6.54727085e-02],\n",
|
|
|
|
|
" [-6.59663245e-02, -3.69725603e-05, -3.70071142e-05,\n",
|
|
|
|
|
" -6.59232727e-02]])\n",
|
|
|
|
|
"J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n",
|
|
|
|
|
"array([-0.06547271, -0.06596632, -0.06536452])\n",
|
|
|
|
|
"Test J_xx = E(y,z) = E(z,y)\n",
|
|
|
|
|
"-0.0654727084967254 -0.0659232726509173\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[3]Fe(2) [4]Fe(2) [1 0 0] d [Ang] Not yet.\n",
|
|
|
|
|
"Isotropic: -1.0251660485588765\n",
|
|
|
|
|
"DMI: [5.56147340e-01 3.31683446e-04 6.04521494e-06]\n",
|
|
|
|
|
"Symmetric-anisotropy: [-9.32615331e-01 -3.84767890e-05 1.75789862e-05 -3.84767890e-05\n",
|
|
|
|
|
" 3.05904797e-02 3.50989682e-05 1.75789862e-05 3.50989682e-05\n",
|
|
|
|
|
" 9.02024851e-01]\n",
|
|
|
|
|
"J: [-1.95778138e+00 -3.84767890e-05 1.75789862e-05 -3.84767890e-05\n",
|
|
|
|
|
" -9.94575569e-01 3.50989682e-05 1.75789862e-05 3.50989682e-05\n",
|
|
|
|
|
" -1.23141198e-01]\n",
|
|
|
|
|
"Energies for debugging: \n",
|
|
|
|
|
"array([[ 4.97965048e-04, 5.56112241e-04, -5.56182439e-04,\n",
|
|
|
|
|
" 8.57005683e-04],\n",
|
|
|
|
|
" [-7.44247443e-04, -3.49262432e-07, 3.14104460e-07,\n",
|
|
|
|
|
" -8.04849198e-04],\n",
|
|
|
|
|
" [-2.84615682e-03, 4.45220039e-08, 3.24315741e-08,\n",
|
|
|
|
|
" -3.11071356e-03]])\n",
|
|
|
|
|
"J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n",
|
|
|
|
|
"array([-0.00080485, -0.00284616, 0.00049797])\n",
|
|
|
|
|
"Test J_xx = E(y,z) = E(z,y)\n",
|
|
|
|
|
"-0.0008048491979002433 -0.003110713560414389\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[3]Fe(2) [5]Fe(2) [1 0 0] d [Ang] Not yet.\n",
|
|
|
|
|
"Isotropic: -3.861520076312661\n",
|
|
|
|
|
"DMI: [-3.85977504 -2.52369277 -4.22692922]\n",
|
|
|
|
|
"Symmetric-anisotropy: [ 0.28001794 -0.01136935 0.01587327 -0.01136935 -0.12598869 0.05899784\n",
|
|
|
|
|
" 0.01587327 0.05899784 -0.15402925]\n",
|
|
|
|
|
"J: [-3.58150213 -0.01136935 0.01587327 -0.01136935 -3.98750877 0.05899784\n",
|
|
|
|
|
" 0.01587327 0.05899784 -4.01554933]\n",
|
|
|
|
|
"Energies for debugging: \n",
|
|
|
|
|
"array([[-0.00437283, -0.00391877, 0.00380078, -0.0044349 ],\n",
|
|
|
|
|
" [-0.00365826, 0.00250782, -0.00253957, -0.00358946],\n",
|
|
|
|
|
" [-0.00354012, -0.00421556, 0.0042383 , -0.00357354]])\n",
|
|
|
|
|
"J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n",
|
|
|
|
|
"array([-0.00358946, -0.00354012, -0.00437283])\n",
|
|
|
|
|
"Test J_xx = E(y,z) = E(z,y)\n",
|
|
|
|
|
"-0.003589463621997051 -0.003573540645545602\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[4]Fe(2) [5]Fe(2) [1 0 0] d [Ang] Not yet.\n",
|
|
|
|
|
"Isotropic: -4.458620479895359\n",
|
|
|
|
|
"DMI: [-4.33083787 -5.9385644 -4.22684544]\n",
|
|
|
|
|
"Symmetric-anisotropy: [ 0.07272859 -0.01136933 -0.06310261 -0.01136933 0.39785991 -0.00993305\n",
|
|
|
|
|
" -0.06310261 -0.00993305 -0.4705885 ]\n",
|
|
|
|
|
"J: [-4.38589189 -0.01136933 -0.06310261 -0.01136933 -4.06076057 -0.00993305\n",
|
|
|
|
|
" -0.06310261 -0.00993305 -4.92920898]\n",
|
|
|
|
|
"Energies for debugging: \n",
|
|
|
|
|
"array([[-0.00452019, -0.0043209 , 0.00434077, -0.0045815 ],\n",
|
|
|
|
|
" [-0.00533823, 0.00600167, -0.00587546, -0.00519834],\n",
|
|
|
|
|
" [-0.00354003, -0.00421548, 0.00423821, -0.00357345]])\n",
|
|
|
|
|
"J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n",
|
|
|
|
|
"array([-0.00519834, -0.00354003, -0.00452019])\n",
|
|
|
|
|
"Test J_xx = E(y,z) = E(z,y)\n",
|
|
|
|
|
"-0.005198338074976103 -0.0035734456953877562\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[3]Fe(2) [4]Fe(2) [-1 0 0] d [Ang] Not yet.\n",
|
|
|
|
|
"Isotropic: -0.6592236155327585\n",
|
|
|
|
|
"DMI: [ 5.59127613e-01 3.58728563e-05 -2.86086982e-06]\n",
|
|
|
|
|
"Symmetric-anisotropy: [-6.83716963e-01 -1.51898472e-05 5.53583253e-05 -1.51898472e-05\n",
|
|
|
|
|
" 1.41032214e-01 -2.42119712e-05 5.53583253e-05 -2.42119712e-05\n",
|
|
|
|
|
" 5.42684748e-01]\n",
|
|
|
|
|
"J: [-1.34294058e+00 -1.51898472e-05 5.53583253e-05 -1.51898472e-05\n",
|
|
|
|
|
" -5.18191401e-01 -2.42119712e-05 5.53583253e-05 -2.42119712e-05\n",
|
|
|
|
|
" -1.16538867e-01]\n",
|
|
|
|
|
"Energies for debugging: \n",
|
|
|
|
|
"array([[ 5.05733178e-04, 5.59151825e-04, -5.59103401e-04,\n",
|
|
|
|
|
" 8.53125820e-04],\n",
|
|
|
|
|
" [-7.38810912e-04, -9.12311817e-08, -1.94854690e-08,\n",
|
|
|
|
|
" -7.84577563e-04],\n",
|
|
|
|
|
" [-1.88950862e-03, 1.23289774e-08, 1.80507170e-08,\n",
|
|
|
|
|
" -1.90130359e-03]])\n",
|
|
|
|
|
"J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n",
|
|
|
|
|
"array([-0.00078458, -0.00188951, 0.00050573])\n",
|
|
|
|
|
"Test J_xx = E(y,z) = E(z,y)\n",
|
|
|
|
|
"-0.0007845775626293201 -0.0019013035936397693\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[3]Fe(2) [5]Fe(2) [-1 0 0] d [Ang] Not yet.\n",
|
|
|
|
|
"Isotropic: -5.329274876444571\n",
|
|
|
|
|
"DMI: [4.32561582 5.93073478 4.17207926]\n",
|
|
|
|
|
"Symmetric-anisotropy: [-0.2835386 -0.01607429 0.06200728 -0.01607429 -0.10548755 0.01356167\n",
|
|
|
|
|
" 0.06200728 0.01356167 0.38902615]\n",
|
|
|
|
|
"J: [-5.61281347 -0.01607429 0.06200728 -0.01607429 -5.43476243 0.01356167\n",
|
|
|
|
|
" 0.06200728 0.01356167 -4.94024873]\n",
|
|
|
|
|
"Energies for debugging: \n",
|
|
|
|
|
"array([[-0.00454026, 0.00431205, -0.00433918, -0.00458051],\n",
|
|
|
|
|
" [-0.00534024, -0.00599274, 0.00586873, -0.00521439],\n",
|
|
|
|
|
" [-0.00628902, 0.00418815, -0.004156 , -0.00601124]])\n",
|
|
|
|
|
"J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n",
|
|
|
|
|
"array([-0.00521439, -0.00628902, -0.00454026])\n",
|
|
|
|
|
"Test J_xx = E(y,z) = E(z,y)\n",
|
|
|
|
|
"-0.005214386566508839 -0.006011240381521584\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[4]Fe(2) [5]Fe(2) [-1 0 0] d [Ang] Not yet.\n",
|
|
|
|
|
"Isotropic: -4.725061132133376\n",
|
|
|
|
|
"DMI: [3.8792295 2.52874087 4.17199723]\n",
|
|
|
|
|
"Symmetric-anisotropy: [-0.07053775 -0.01607386 -0.01391118 -0.01607386 -0.64500259 -0.04924493\n",
|
|
|
|
|
" -0.01391118 -0.04924493 0.71554034]\n",
|
|
|
|
|
"J: [-4.79559888 -0.01607386 -0.01391118 -0.01607386 -5.37006372 -0.04924493\n",
|
|
|
|
|
" -0.01391118 -0.04924493 -4.00952079]\n",
|
|
|
|
|
"Energies for debugging: \n",
|
|
|
|
|
"array([[-0.00436494, 0.00392847, -0.00382998, -0.00445121],\n",
|
|
|
|
|
" [-0.0036541 , -0.00251483, 0.00254265, -0.00358006],\n",
|
|
|
|
|
" [-0.00628891, 0.00418807, -0.00415592, -0.00601114]])\n",
|
|
|
|
|
"J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n",
|
|
|
|
|
"array([-0.00358006, -0.00628891, -0.00436494])\n",
|
|
|
|
|
"Test J_xx = E(y,z) = E(z,y)\n",
|
|
|
|
|
"-0.0035800556270865367 -0.006011142134174699\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[3]Fe(2) [4]Fe(2) [0 1 0] d [Ang] Not yet.\n",
|
|
|
|
|
"Isotropic: -1.0496996447984108\n",
|
|
|
|
|
"DMI: [-1.97020604e-01 3.93326251e-01 -7.99021874e-06]\n",
|
|
|
|
|
"Symmetric-anisotropy: [-0.20217197 0.11453163 -0.03920952 0.11453163 -0.68803384 -0.03787685\n",
|
|
|
|
|
" -0.03920952 -0.03787685 0.8902058 ]\n",
|
|
|
|
|
"J: [-1.25187161 0.11453163 -0.03920952 0.11453163 -1.73773348 -0.03787685\n",
|
|
|
|
|
" -0.03920952 -0.03787685 -0.15949384]\n",
|
|
|
|
|
"Energies for debugging: \n",
|
|
|
|
|
"array([[-0.00047568, -0.00015914, 0.0002349 , -0.00043124],\n",
|
|
|
|
|
" [ 0.00015669, -0.00035412, 0.00043254, 0.00040814],\n",
|
|
|
|
|
" [-0.00304422, -0.00011454, -0.00011452, -0.00291188]])\n",
|
|
|
|
|
"J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n",
|
|
|
|
|
"array([ 0.00040814, -0.00304422, -0.00047568])\n",
|
|
|
|
|
"Test J_xx = E(y,z) = E(z,y)\n",
|
|
|
|
|
"0.0004081381450225469 -0.002911881367375347\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[3]Fe(2) [5]Fe(2) [0 1 0] d [Ang] Not yet.\n",
|
|
|
|
|
"Isotropic: -1.6451863500909631\n",
|
|
|
|
|
"DMI: [ 0.24862131 -0.06829953 -0.0003067 ]\n",
|
|
|
|
|
"Symmetric-anisotropy: [-0.17839237 -0.07756692 -0.00999969 -0.07756692 -0.01604251 0.00447534\n",
|
|
|
|
|
" -0.00999969 0.00447534 0.19443488]\n",
|
|
|
|
|
"J: [-1.82357872 -0.07756692 -0.00999969 -0.07756692 -1.66122887 0.00447534\n",
|
|
|
|
|
" -0.00999969 0.00447534 -1.45075147]\n",
|
|
|
|
|
"Energies for debugging: \n",
|
|
|
|
|
"array([[-1.33932568e-03, 2.44145966e-04, -2.53096646e-04,\n",
|
|
|
|
|
" -1.15417279e-03],\n",
|
|
|
|
|
" [-1.56217725e-03, 7.82992297e-05, -5.82998403e-05,\n",
|
|
|
|
|
" -1.38940645e-03],\n",
|
|
|
|
|
" [-2.16828494e-03, 7.72602195e-05, 7.78736263e-05,\n",
|
|
|
|
|
" -2.25775098e-03]])\n",
|
|
|
|
|
"J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n",
|
|
|
|
|
"array([-0.00138941, -0.00216828, -0.00133933])\n",
|
|
|
|
|
"Test J_xx = E(y,z) = E(z,y)\n",
|
|
|
|
|
"-0.001389406450933013 -0.0022577509836049143\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[4]Fe(2) [5]Fe(2) [0 1 0] d [Ang] Not yet.\n",
|
|
|
|
|
"Isotropic: -1.925466529428356\n",
|
|
|
|
|
"DMI: [ 5.35912969e-01 -3.81240204e-01 -3.13285724e-04]\n",
|
|
|
|
|
"Symmetric-anisotropy: [-0.05397076 -0.07756762 0.06269827 -0.07756762 0.02186579 0.0475358\n",
|
|
|
|
|
" 0.06269827 0.0475358 0.03210497]\n",
|
|
|
|
|
"J: [-1.97943729 -0.07756762 0.06269827 -0.07756762 -1.90360074 0.0475358\n",
|
|
|
|
|
" 0.06269827 0.0475358 -1.89336156]\n",
|
|
|
|
|
"Energies for debugging: \n",
|
|
|
|
|
"array([[-1.87844392e-03, 4.88377165e-04, -5.83448773e-04,\n",
|
|
|
|
|
" -1.63886730e-03],\n",
|
|
|
|
|
" [-1.90827920e-03, 3.18541935e-04, -4.43938473e-04,\n",
|
|
|
|
|
" -1.70107327e-03],\n",
|
|
|
|
|
" [-2.16833418e-03, 7.72543295e-05, 7.78809009e-05,\n",
|
|
|
|
|
" -2.25780130e-03]])\n",
|
|
|
|
|
"J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n",
|
|
|
|
|
"array([-0.00170107, -0.00216833, -0.00187844])\n",
|
|
|
|
|
"Test J_xx = E(y,z) = E(z,y)\n",
|
|
|
|
|
"-0.0017010732733817554 -0.0022578013038436714\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[3]Fe(2) [4]Fe(2) [ 0 -1 0] d [Ang] Not yet.\n",
|
|
|
|
|
"Isotropic: -0.68223039919425\n",
|
|
|
|
|
"DMI: [-1.89525393e-01 3.91001992e-01 1.58428064e-05]\n",
|
|
|
|
|
"Symmetric-anisotropy: [-0.05823148 0.00509602 0.02845826 0.00509602 -0.47544519 0.02675952\n",
|
|
|
|
|
" 0.02845826 0.02675952 0.53367667]\n",
|
|
|
|
|
"J: [-0.74046188 0.00509602 0.02845826 0.00509602 -1.15767559 0.02675952\n",
|
|
|
|
|
" 0.02845826 0.02675952 -0.14855373]\n",
|
|
|
|
|
"Energies for debugging: \n",
|
|
|
|
|
"array([[-4.64649982e-04, -2.16284909e-04, 1.62765877e-04,\n",
|
|
|
|
|
" -4.17183456e-04],\n",
|
|
|
|
|
" [ 1.67542528e-04, -4.19460248e-04, 3.62543736e-04,\n",
|
|
|
|
|
" 4.11325899e-04],\n",
|
|
|
|
|
" [-1.89816773e-03, -5.08017987e-06, -5.11186549e-06,\n",
|
|
|
|
|
" -1.89224965e-03]])\n",
|
|
|
|
|
"J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n",
|
|
|
|
|
"array([ 0.00041133, -0.00189817, -0.00046465])\n",
|
|
|
|
|
"Test J_xx = E(y,z) = E(z,y)\n",
|
|
|
|
|
"0.0004113258993876115 -0.0018922496544738186\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[3]Fe(2) [5]Fe(2) [ 0 -1 0] d [Ang] Not yet.\n",
|
|
|
|
|
"Isotropic: -1.3572259825150497\n",
|
|
|
|
|
"DMI: [-5.38839939e-01 3.89611153e-01 8.70420696e-05]\n",
|
|
|
|
|
"Symmetric-anisotropy: [ 0.26558549 0.01373365 -0.05609544 0.01373365 0.28408137 -0.04203485\n",
|
|
|
|
|
" -0.05609544 -0.04203485 -0.54966686]\n",
|
|
|
|
|
"J: [-1.09164049 0.01373365 -0.05609544 0.01373365 -1.07314461 -0.04203485\n",
|
|
|
|
|
" -0.05609544 -0.04203485 -1.90689284]\n",
|
|
|
|
|
"Energies for debugging: \n",
|
|
|
|
|
"array([[-1.89490240e-03, -4.96805090e-04, 5.80874787e-04,\n",
|
|
|
|
|
" -1.64794979e-03],\n",
|
|
|
|
|
" [-1.91888329e-03, -3.33515713e-04, 4.45706592e-04,\n",
|
|
|
|
|
" -1.70084474e-03],\n",
|
|
|
|
|
" [-4.98339441e-04, -1.36466118e-05, -1.38206959e-05,\n",
|
|
|
|
|
" -4.82436238e-04]])\n",
|
|
|
|
|
"J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n",
|
|
|
|
|
"array([-0.00170084, -0.00049834, -0.0018949 ])\n",
|
|
|
|
|
"Test J_xx = E(y,z) = E(z,y)\n",
|
|
|
|
|
"-0.001700844742244848 -0.00048243623752327756\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"[4]Fe(2) [5]Fe(2) [ 0 -1 0] d [Ang] Not yet.\n",
|
|
|
|
|
"Isotropic: -1.0714146881035242\n",
|
|
|
|
|
"DMI: [-2.39958377e-01 5.49853449e-02 9.53349954e-05]\n",
|
|
|
|
|
"Symmetric-anisotropy: [ 0.13849155 0.0137361 0.01047494 0.0137361 0.24743038 -0.00279692\n",
|
|
|
|
|
" 0.01047494 -0.00279692 -0.38592192]\n",
|
|
|
|
|
"J: [-0.93292314 0.0137361 0.01047494 0.0137361 -0.82398431 -0.00279692\n",
|
|
|
|
|
" 0.01047494 -0.00279692 -1.45733661]\n",
|
|
|
|
|
"Energies for debugging: \n",
|
|
|
|
|
"array([[-6.08700078e-02, -3.83614125e-03, 3.76325229e-03,\n",
|
|
|
|
|
" -6.11810143e-02],\n",
|
|
|
|
|
" [-6.06396194e-02, -6.24427624e-03, 6.06454692e-03,\n",
|
|
|
|
|
" -6.08610806e-02],\n",
|
|
|
|
|
" [-5.98917226e-02, -7.10458351e-05, -7.13739518e-05,\n",
|
|
|
|
|
" -5.98092383e-02]])\n",
|
|
|
|
|
"array([[-1.34446326e-03, -2.37161457e-04, 2.42755297e-04,\n",
|
|
|
|
|
" -1.14953629e-03],\n",
|
|
|
|
|
" [-1.57020997e-03, -6.54602885e-05, 4.45104012e-05,\n",
|
|
|
|
|
" -1.38331981e-03],\n",
|
|
|
|
|
" [-4.98432325e-04, -1.36407658e-05, -1.38314358e-05,\n",
|
|
|
|
|
" -4.82526480e-04]])\n",
|
|
|
|
|
"J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n",
|
|
|
|
|
"array([-0.06086108, -0.05989172, -0.06087001])\n",
|
|
|
|
|
"array([-0.00138332, -0.00049843, -0.00134446])\n",
|
|
|
|
|
"Test J_xx = E(y,z) = E(z,y)\n",
|
|
|
|
|
"-0.06086108060807331 -0.059809238286325714\n",
|
|
|
|
|
"-0.001383319805189735 -0.0004825264795417615\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"================================================================================================================================================================\n",
|
|
|
|
|
"Runtime information: \n",
|
|
|
|
|
"Total runtime: 1177.247012041 s\n",
|
|
|
|
|
"Total runtime: 36.825569167000026 s\n",
|
|
|
|
|
"----------------------------------------------------------------------------------------------------------------------------------------------------------------\n",
|
|
|
|
|
"Initial setup: 0.12478720800001497 s\n",
|
|
|
|
|
"Hamiltonian conversion and XC field extraction: 0.923 s\n",
|
|
|
|
|
"Pair and site datastructure creatrions: 0.047 s\n",
|
|
|
|
|
"k set cration and distribution: 0.010 s\n",
|
|
|
|
|
"Rotating XC potential: 0.331 s\n",
|
|
|
|
|
"Greens function inversion: 1175.535 s\n",
|
|
|
|
|
"Calculate energies and magnetic components: 0.276 s\n"
|
|
|
|
|
"Initial setup: 0.20532049999999913 s\n",
|
|
|
|
|
"Hamiltonian conversion and XC field extraction: 0.972 s\n",
|
|
|
|
|
"Pair and site datastructure creatrions: 0.027 s\n",
|
|
|
|
|
"k set cration and distribution: 0.027 s\n",
|
|
|
|
|
"Rotating XC potential: 0.255 s\n",
|
|
|
|
|
"Greens function inversion: 35.247 s\n",
|
|
|
|
|
"Calculate energies and magnetic components: 0.092 s\n"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
@ -915,10 +1119,11 @@
|
|
|
|
|
"\n",
|
|
|
|
|
" # calculate magnetic parameters\n",
|
|
|
|
|
" for pair in pairs:\n",
|
|
|
|
|
" J_iso, J_S, D = calculate_exchange_tensor(pair)\n",
|
|
|
|
|
" J_iso, J_S, D, J = calculate_exchange_tensor(pair)\n",
|
|
|
|
|
" pair[\"J_iso\"] = J_iso * sisl.unit_convert(\"eV\", \"meV\")\n",
|
|
|
|
|
" pair[\"J_S\"] = J_S * sisl.unit_convert(\"eV\", \"meV\")\n",
|
|
|
|
|
" pair[\"D\"] = D * sisl.unit_convert(\"eV\", \"meV\")\n",
|
|
|
|
|
" pair[\"J\"] = J * sisl.unit_convert(\"eV\", \"meV\")\n",
|
|
|
|
|
"\n",
|
|
|
|
|
" print(\"Magnetic parameters calculated.\")\n",
|
|
|
|
|
"\n",
|
|
|
|
@ -956,7 +1161,7 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 35,
|
|
|
|
|
"execution_count": 11,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
@ -964,7 +1169,7 @@
|
|
|
|
|
"evalue": "invalid syntax (1445642317.py, line 1)",
|
|
|
|
|
"output_type": "error",
|
|
|
|
|
"traceback": [
|
|
|
|
|
"\u001b[0;36m Cell \u001b[0;32mIn[35], line 1\u001b[0;36m\u001b[0m\n\u001b[0;31m Magnetic entities integrated.\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n"
|
|
|
|
|
"\u001b[0;36m Cell \u001b[0;32mIn[11], line 1\u001b[0;36m\u001b[0m\n\u001b[0;31m Magnetic entities integrated.\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
@ -1074,16 +1279,7 @@
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": null,
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"ename": "SyntaxError",
|
|
|
|
|
"evalue": "invalid syntax (3012513526.py, line 1)",
|
|
|
|
|
"output_type": "error",
|
|
|
|
|
"traceback": [
|
|
|
|
|
"\u001b[0;36m Cell \u001b[0;32mIn[13], line 1\u001b[0;36m\u001b[0m\n\u001b[0;31m Magnetic entities integrated.\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"outputs": [],
|
|
|
|
|
"source": [
|
|
|
|
|
"Magnetic entities integrated.\n",
|
|
|
|
|
"Pairs integrated.\n",
|
|
|
|
|