corrected typos and working on fdf input

class-solution
Daniel Pozsar 2 months ago
parent 4563c33eb3
commit 496732dcd5

@ -2,7 +2,7 @@ InputFile /Users/danielpozsar/Downloads/nojij/Fe3GeTe2/monolayer/soc/lat3_
OutputFile ./Fe3GeTe2_notebook OutputFile ./Fe3GeTe2_notebook
ScfOrientation [ 0 0 1 ] ScfXcfOrientation [ 0 0 1 ]
%block XCF_Rotation %block XCF_Rotation
1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1
@ -10,25 +10,19 @@ ScfOrientation [ 0 0 1 ]
0 0 1 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0
%endblock XCFRotation %endblock XCFRotation
%block MagneticEntites # atom index and orbital index %block MagneticEntities
3 2 Cluster 4 5 # this is a list of atoms
4 2
5 2
%endblock MagneticEntites
%block MagneticEntites
Claster 4 5 # this is a list of atoms
AtomShell 3 2 # this is one atom and shell index AtomShell 3 2 # this is one atom and shell index
AtomShell 4 2 # this is one atom and shell index AtomShell 4 2 # this is one atom and shell index
AtomShell 5 2 # this is one atom and shell index AtomShell 5 2 # this is one atom and shell index
AtomOrbital 3 # this is one atom and orbital index AtomOrbital 3 # this is one atom and orbital index
ExplicitOrbital # this is a slice of orbital index ExplicitOrbital # this is a slice of orbital index
%endblock MagneticEntites %endblock MagneticEntities
%Pairsblock # MagneticEntites index ai and aj, supercell offset %block Pairs # MagneticEntities index ai and aj, supercell offset
0 1 0 0 0 0 1 0 0 0
0 2 0 0 0 0 2 0 0 0
1 2 0 0 0 1 2 0 0 0
@ -38,10 +32,13 @@ ExplicitOrbital # this is a slice of orbital index
1 2 -1 0 0 1 2 -1 0 0
1 2 -2 0 0 1 2 -2 0 0
1 2 -3 0 0 1 2 -3 0 0
%endPairsblock %endblock Pairs
INTEGRAL.Kset 3 INTEGRAL.Kset 3
INTEGRAL.Kdirs xy INTEGRAL.Kdirs xy
INTEGRAL.Ebot -13 INTEGRAL.Ebot -13
INTEGRAL.Eset 300 INTEGRAL.Eset 300
INTEGRAL.Esetp 1000 INTEGRAL.Esetp 1000
GREEN.ParallelSolver False
PadawanMode True

@ -18,16 +18,18 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE. # SOFTWARE.
import os
import warnings import warnings
from sys import getsizeof from sys import getsizeof
from timeit import default_timer as timer from timeit import default_timer as timer
# use numpy number of threads one # use numpy number of threads one
from threadpoolctl import threadpool_info, threadpool_limits try:
from threadpoolctl import threadpool_info, threadpool_limits
user_api = threadpool_info()[0]["user_api"] user_api = threadpool_info()["user_api"]
threadpool_limits(limits=1, user_api=user_api) threadpool_limits(limits=1, user_api=user_api)
except:
print("Warning: threadpoolctl could not make numpy use single thread!")
import numpy as np import numpy as np
import sisl import sisl
@ -45,14 +47,6 @@ from grogupy import *
def main(): def main():
# constrain numpy in parallel run
os.environ["OMP_NUM_THREADS"] = "1" # export OMP_NUM_THREADS=1
os.environ["OPENBLAS_NUM_THREADS"] = "1" # export OPENBLAS_NUM_THREADS=1
os.environ["MKL_NUM_THREADS"] = "1" # export MKL_NUM_THREADS=1
os.environ["VECLIB_MAXIMUM_THREADS"] = "1" # export VECLIB_MAXIMUM_THREADS=1
os.environ["NUMEXPR_NUM_THREADS"] = "1" # export NUMEXPR_NUM_THREADS=1
# runtime information # runtime information
times = dict() times = dict()
times["start_time"] = timer() times["start_time"] = timer()

@ -7,26 +7,38 @@
"outputs": [], "outputs": [],
"source": [ "source": [
"# use numpy number of threads one\n", "# use numpy number of threads one\n",
"# from threadpoolctl import threadpool_info, threadpool_limits\n",
"# print(threadpool_info())\n", "# print(threadpool_info())\n",
"# from threadpoolctl import threadpool_info, threadpool_limits\n",
"# user_api = threadpool_info()[0][\"user_api\"]\n", "# user_api = threadpool_info()[0][\"user_api\"]\n",
"# threadpool_limits(limits=1, user_api=user_api)" "# threadpool_limits(limits=1, user_api=user_api)\n",
"# print(threadpool_info())"
] ]
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": 2,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
"ename": "ImportError", "name": "stderr",
"evalue": "attempted relative import with no known parent package", "output_type": "stream",
"output_type": "error", "text": [
"traceback": [ "info:0: SislInfo: Please install tqdm (pip install tqdm) for better looking progress bars\n"
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", ]
"\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", },
"Cell \u001b[0;32mIn[6], line 5\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtimeit\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m default_timer \u001b[38;5;28;01mas\u001b[39;00m timer\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01msisl\u001b[39;00m\n\u001b[0;32m----> 5\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01msrc\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mgrogupy\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;241m*\u001b[39m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mmpi4py\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m MPI\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mwarnings\u001b[39;00m\n", {
"\u001b[0;31mImportError\u001b[0m: attempted relative import with no known parent package" "name": "stdout",
"output_type": "stream",
"text": [
"0.14.3\n",
"1.24.4\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"[Daniels-Air:00184] shmem: mmap: an error occurred while determining whether or not /var/folders/yh/dx7xl94n3g52ts3td8qcxjcc0000gn/T//ompi.Daniels-Air.501/jf.0/273678336/sm_segment.Daniels-Air.501.10500000.0 could be created.\n"
] ]
} }
], ],
@ -60,40 +72,53 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 3, "execution_count": null,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
"data": { "name": "stdout",
"text/plain": [ "output_type": "stream",
"[{'o': array([1., 0., 0.]),\n", "text": [
" 'vw': array([[0., 1., 0.],\n", "[{'ai': 0, 'aj': 1, 'Ruc': array([0, 0, 0])}, {'ai': 0, 'aj': 2, 'Ruc': array([0, 0, 0])}, {'ai': 1, 'aj': 2, 'Ruc': array([0, 0, 0])}, {'ai': 0, 'aj': 2, 'Ruc': array([-1, -1, 0])}, {'ai': 1, 'aj': 2, 'Ruc': array([-1, -1, 0])}, {'ai': 0, 'aj': 2, 'Ruc': array([-1, 0, 0])}, {'ai': 1, 'aj': 2, 'Ruc': array([-1, 0, 0])}, {'ai': 1, 'aj': 2, 'Ruc': array([-2, 0, 0])}, {'ai': 1, 'aj': 2, 'Ruc': array([-3, 0, 0])}]\n"
" [0., 0., 1.]])},\n",
" {'o': array([0., 1., 0.]),\n",
" 'vw': array([[1., 0., 0.],\n",
" [0., 0., 1.]])},\n",
" {'o': array([0., 0., 1.]),\n",
" 'vw': array([[1., 0., 0.],\n",
" [0., 1., 0.]])}]"
] ]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
} }
], ],
"source": [ "source": [
"# open fdf input\n",
"fdf = sisl.io.fdfSileSiesta(\"input.fdf\")\n", "fdf = sisl.io.fdfSileSiesta(\"input.fdf\")\n",
"\n",
"fdf_parameters = dict()\n",
"fdf_parameters[\"infile\"] = fdf.get(\"InputFile\")\n",
"fdf_parameters[\"outfile\"] = fdf.get(\"OutputFile\")\n",
"fdf_parameters[\"scf_xcf_orientation\"] = np.array(fdf.get(\"ScfXcfOrientation\"))\n",
"\n",
"rotations = fdf.get(\"XCF_Rotation\")\n", "rotations = fdf.get(\"XCF_Rotation\")\n",
"my_rot = []\n", "fdf_rot = []\n",
"for rot in rotations:\n", "for rot in rotations:\n",
" dat = np.array(rot.split(), dtype=float)\n", " dat = np.array(rot.split(), dtype=float)\n",
" o = dat[:3]\n", " o = dat[:3]\n",
" vw = dat[3:]\n", " vw = dat[3:]\n",
" vw = vw.reshape(2, 3)\n", " vw = vw.reshape(2, 3)\n",
" my_rot.append(dict(o=o, vw=vw))\n", " fdf_rot.append(dict(o=o, vw=vw))\n",
"\n", "fdf_parameters[\"ref_xcf_orientations\"] = fdf_rot\n",
"my_rot" "\n",
"pairs = fdf.get(\"Pairs\")\n",
"fdf_pairs = []\n",
"for fdf_pair in pairs:\n",
" dat = np.array(fdf_pair.split(), dtype=int)\n",
" my_pair = dict(ai=dat[0], aj=dat[1], Ruc=np.array(dat[2:]))\n",
" fdf_pairs.append(fdf_pair)\n",
"\n",
"pairs = fdf.get(\"Pairs\")\n",
"fdf_magnetic_entities = []\n",
"\n",
"fdf_parameters[\"kset\"] = fdf.get(\"INTEGRAL.Kset\")\n",
"fdf_parameters[\"kdirs\"] = fdf.get(\"INTEGRAL.Kdirs\")\n",
"fdf_parameters[\"ebot\"] = fdf.get(\"INTEGRAL.Ebot\")\n",
"fdf_parameters[\"eset\"] = fdf.get(\"INTEGRAL.Eset\")\n",
"fdf_parameters[\"esetp\"] = fdf.get(\"INTEGRAL.Esetp\")\n",
"fdf_parameters[\"parallel_solver_for_Gk\"] = fdf.get(\"GREEN.ParallelSolver\")\n",
"fdf_parameters[\"padawan_mode\"] = fdf.get(\"PadawanMode\")"
] ]
}, },
{ {

Loading…
Cancel
Save