From 71eb8cfd70edef01149ca804ec8c628b4ca16144 Mon Sep 17 00:00:00 2001 From: Daniel Pozsar Date: Wed, 30 Oct 2024 15:17:43 +0100 Subject: [PATCH] added original pairs and magnetic entites for testing --- test.ipynb | 130 ++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 100 insertions(+), 30 deletions(-) diff --git a/test.ipynb b/test.ipynb index c2e63ce..1df7eec 100644 --- a/test.ipynb +++ b/test.ipynb @@ -9,7 +9,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "[Mac:54919] shmem: mmap: an error occurred while determining whether or not /var/folders/yh/dx7xl94n3g52ts3td8qcxjcc0000gn/T//ompi.Mac.501/jf.0/778436608/sm_segment.Mac.501.2e660000.0 could be created.\n" + "[Mac:57824] shmem: mmap: an error occurred while determining whether or not /var/folders/yh/dx7xl94n3g52ts3td8qcxjcc0000gn/T//ompi.Mac.501/jf.0/1921449984/sm_segment.Mac.501.72870000.0 could be created.\n" ] } ], @@ -76,18 +76,17 @@ "]\n", "\n", "# pair information\n", - "# these should all be around -41.9 in the isotropic part\n", - "# isotropic should be -82 meV\n", "pairs = [\n", - " dict(ai=0, aj=3, Ruc=np.array([0, 0, 0])),\n", - " dict(ai=0, aj=1, Ruc=np.array([0, 0, 0])),\n", - " dict(ai=1, aj=0, Ruc=np.array([0, 0, 0])),\n", - " dict(ai=0, aj=2, Ruc=np.array([0, 0, 0])),\n", + " dict(ai=0, aj=1, Ruc=np.array([0, 0, 0])), # isotropic should be -82 meV\n", + " dict(\n", + " ai=0, aj=2, Ruc=np.array([0, 0, 0])\n", + " ), # these should all be around -41.9 in the isotropic part\n", " dict(ai=1, aj=2, Ruc=np.array([0, 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", "]\n", "\n", + "\n", "# Brilloun zone sampling and Green function contour integral\n", "kset = 20\n", "kdirs = \"xy\"\n", @@ -366,7 +365,7 @@ "Number of magnetic entities being calculated: 4\n", "We have to calculate the Greens function for three reference direction and we are going to calculate 15 energy integrals per site.\n", "The shape of the Hamiltonian and the Greens function is 84x84.\n", - "k loop: 100%|██████████| 400/400 [19:35<00:00, 2.94s/it] \n" + "k loop: 100%|██████████| 400/400 [01:51<00:00, 3.59it/s]\n" ] } ], @@ -482,54 +481,125 @@ "Magnetic entity1 Magnetic entity2 [i j k] d [Ang]\n", "----------------------------------------------------------------------------------------------------------------------------------------------------------------\n", "[3]Fe(2) {[3]Fe(all)--[4]Fe(all)} [0 0 0] d [Ang] Not yet.\n", - "Isotropic: -7404.692892728154\n", + "Isotropic: -7405.318419294225\n", "DMI: [-9.31336133e-01 -7.86063119e-04 1.83575526e-06]\n", - "Symmetric-anisotropy: [ 2.03042884e+00 1.04458862e+00 -1.40962466e-03 -6.58426045e-04\n", + "Symmetric-anisotropy: [ 2.65595540e+00 -2.44949089e+00 -1.40962466e-03 -6.58426045e-04\n", " -6.97969537e-02]\n", + "Energies for debugging: \n", + "array([[-7.40776791e+00, -8.61539179e-04, 1.00113309e-03,\n", + " -7.40552488e+00],\n", + " [-7.40477088e+00, 6.58426045e-07, -9.13700193e-07,\n", + " -7.40266246e+00],\n", + " [-7.40364830e+00, 1.41146041e-06, 1.40778890e-06,\n", + " -7.40364662e+00]])\n", + "J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n", + "array([-7.40266246, -7.4036483 , -7.40776791])\n", + "Test J_xx = E(y,z) = E(z,y)\n", + "-7.402662463889994 -7.403646622630278\n", "\n", "[3]Fe(2) [4]Fe(2) [0 0 0] d [Ang] Not yet.\n", - "Isotropic: -60.89330922309355\n", + "Isotropic: -63.511236909297565\n", "DMI: [-9.32966923e-01 -8.92579299e-04 -2.04258659e-06]\n", - "Symmetric-anisotropy: [-5.95741551e+00 7.27737654e+00 6.90431275e-04 -8.11057566e-04\n", + "Symmetric-anisotropy: [-3.33948782e+00 1.29796666e+00 6.90431275e-04 -8.11057566e-04\n", " -5.49031203e-06]\n", + "Energies for debugging: \n", + "array([[-6.22132703e-02, -9.32961433e-04, 9.32972414e-04,\n", + " -6.14697157e-02],\n", + " [-6.75757803e-02, 8.11057566e-07, -9.74101032e-07,\n", + " -6.68507247e-02],\n", + " [-5.36159327e-02, -6.92473862e-07, -6.88388688e-07,\n", + " -5.36168088e-02]])\n", + "J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n", + "array([-0.06685072, -0.05361593, -0.06221327])\n", + "Test J_xx = E(y,z) = E(z,y)\n", + "-0.0668507247298092 -0.05361680878933305\n", "\n", "[4]Fe(2) [3]Fe(2) [0 0 0] d [Ang] Not yet.\n", - "Isotropic: -60.893309223093574\n", + "Isotropic: -63.511236909297594\n", "DMI: [9.32966923e-01 8.92579299e-04 2.04258658e-06]\n", - "Symmetric-anisotropy: [-5.95741551e+00 7.27737654e+00 6.90431275e-04 9.74101032e-04\n", + "Symmetric-anisotropy: [-3.33948782e+00 1.29796666e+00 6.90431275e-04 9.74101032e-04\n", " -5.49031203e-06]\n", + "Energies for debugging: \n", + "array([[-6.22132703e-02, 9.32972414e-04, -9.32961433e-04,\n", + " -6.14697157e-02],\n", + " [-6.75757803e-02, -9.74101032e-07, 8.11057566e-07,\n", + " -6.68507247e-02],\n", + " [-5.36159327e-02, -6.88388689e-07, -6.92473862e-07,\n", + " -5.36168088e-02]])\n", + "J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n", + "array([-0.06685072, -0.05361593, -0.06221327])\n", + "Test J_xx = E(y,z) = E(z,y)\n", + "-0.06685072472980924 -0.05361680878933306\n", "\n", "[3]Fe(2) [5]Fe(2) [0 0 0] d [Ang] Not yet.\n", - "Isotropic: -60.55651225519789\n", + "Isotropic: -60.982930301608\n", "DMI: [ 3.78506176e+00 -6.13838308e+00 3.59037036e-03]\n", - "Symmetric-anisotropy: [-0.34565796 0.65919757 0.07106945 -6.23149871 -0.0424978 ]\n", + "Symmetric-anisotropy: [ 0.08076008 0.11287844 0.07106945 -6.23149871 -0.0424978 ]\n", + "Energies for debugging: \n", + "array([[-6.08700519e-02, 3.82755956e-03, -3.74256396e-03,\n", + " -6.11765688e-02],\n", + " [-6.06451611e-02, 6.23149871e-03, -6.04526746e-03,\n", + " -6.09021702e-02],\n", + " [-5.98973147e-02, -6.74790753e-05, -7.46598160e-05,\n", + " -5.98149915e-02]])\n", + "J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n", + "array([-0.06090217, -0.05989731, -0.06087005])\n", + "Test J_xx = E(y,z) = E(z,y)\n", + "-0.06090217021953539 -0.059814991464384966\n", "\n", "[4]Fe(2) [5]Fe(2) [0 0 0] d [Ang] Not yet.\n", - "Isotropic: -60.54974989595536\n", + "Isotropic: -60.97738429102214\n", "DMI: [-3.79945963e+00 6.15244494e+00 3.58990840e-03]\n", - "Symmetric-anisotropy: [-0.33638052 0.65239116 0.07106826 6.24185638 0.03636701]\n", + "Symmetric-anisotropy: [0.09125387 0.11162376 0.07106826 6.24185638 0.03636701]\n", + "Energies for debugging: \n", + "array([[-6.08657605e-02, -3.83582664e-03, 3.76309262e-03,\n", + " -6.11802619e-02],\n", + " [-6.06341379e-02, -6.24185638e-03, 6.06303351e-03,\n", + " -6.08861304e-02],\n", + " [-5.98973587e-02, -6.74783547e-05, -7.46581715e-05,\n", + " -5.98150413e-02]])\n", + "J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n", + "array([-0.06088613, -0.05989736, -0.06086576])\n", + "Test J_xx = E(y,z) = E(z,y)\n", + "-0.06088613041916854 -0.05981504131171201\n", "\n", "[3]Fe(2) [5]Fe(2) [-1 0 0] d [Ang] Not yet.\n", - "Isotropic: -6.6253295899433216\n", + "Isotropic: -6.828322238590878\n", "DMI: [5.95251705 7.64859703 6.50501652]\n", - "Symmetric-anisotropy: [-0.65822877 0.72396528 -0.031302 7.69961304 0.03239586]\n", + "Symmetric-anisotropy: [-0.45523613 0.13725614 -0.031302 7.69961304 0.03239586]\n", + "Energies for debugging: \n", + "array([[-0.00669107, 0.00592012, -0.00598491, -0.00651034],\n", + " [-0.00748301, -0.00769961, 0.00759758, -0.00728356],\n", + " [-0.00590136, 0.00653632, -0.00647371, -0.00567313]])\n", + "J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n", + "array([-0.00728356, -0.00590136, -0.00669107])\n", + "Test J_xx = E(y,z) = E(z,y)\n", + "-0.007283558363709989 -0.005673134248977463\n", "\n", "[4]Fe(2) [5]Fe(2) [-1 0 0] d [Ang] Not yet.\n", - "Isotropic: -6.123086646494101\n", + "Isotropic: -6.332622110203909\n", "DMI: [6.19414647 4.23019689 6.50504332]\n", - "Symmetric-anisotropy: [ 0.32693117 0.22187887 -0.03129943 4.24610256 -0.09833472]\n", + "Symmetric-anisotropy: [ 0.53646663 -0.33927457 -0.03129943 4.24610256 -0.09833472]\n", + "Energies for debugging: \n", + "array([[-0.0066719 , 0.00629248, -0.00609581, -0.00652981],\n", + " [-0.00599877, -0.0042461 , 0.00421429, -0.00579616],\n", + " [-0.00590121, 0.00653634, -0.00647374, -0.00567299]])\n", + "J_ii for debugging: (check if this is the same as in calculate_exchange_tensor)\n", + "array([-0.00579616, -0.00590121, -0.0066719 ])\n", + "Test J_xx = E(y,z) = E(z,y)\n", + "-0.005796155475608501 -0.00567298926736884\n", "\n", "================================================================================================================================================================\n", "Runtime information: \n", - "Total runtime: 118.107833833 s\n", + "Total runtime: 112.18818 s\n", "----------------------------------------------------------------------------------------------------------------------------------------------------------------\n", - "Initial setup: 0.12060429199999945 s\n", - "Hamiltonian conversion and XC field extraction: 0.558 s\n", - "Pair and site datastructure creatrions: 0.011 s\n", - "k set cration and distribution: 0.018 s\n", - "Rotating XC potential: 0.214 s\n", - "Greens function inversion: 117.061 s\n", - "Calculate energies and magnetic components: 0.127 s\n" + "Initial setup: 0.13208074999999986 s\n", + "Hamiltonian conversion and XC field extraction: 0.530 s\n", + "Pair and site datastructure creatrions: 0.010 s\n", + "k set cration and distribution: 0.014 s\n", + "Rotating XC potential: 0.220 s\n", + "Greens function inversion: 111.167 s\n", + "Calculate energies and magnetic components: 0.115 s\n" ] } ],