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
ScfOrientation [ 0 0 1 ]
ScfXcfOrientation [ 0 0 1 ]
%block XCF_Rotation
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
%endblock XCFRotation
%block MagneticEntites # atom index and orbital index
3 2
4 2
5 2
%endblock MagneticEntites
%block MagneticEntites
Claster 4 5 # this is a list of atoms
%block MagneticEntities
Cluster 4 5 # this is a list of atoms
AtomShell 3 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
AtomOrbital 3 # this is one atom and 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 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 -2 0 0
1 2 -3 0 0
%endPairsblock
%endblock Pairs
INTEGRAL.Kset 3
INTEGRAL.Kdirs xy
INTEGRAL.Ebot -13
INTEGRAL.Eset 300
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
# SOFTWARE.
import os
import warnings
from sys import getsizeof
from timeit import default_timer as timer
# 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"]
threadpool_limits(limits=1, user_api=user_api)
user_api = threadpool_info()["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 sisl
@ -45,14 +47,6 @@ from grogupy import *
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
times = dict()
times["start_time"] = timer()

@ -7,26 +7,38 @@
"outputs": [],
"source": [
"# use numpy number of threads one\n",
"# from threadpoolctl import threadpool_info, threadpool_limits\n",
"# print(threadpool_info())\n",
"# from threadpoolctl import threadpool_info, threadpool_limits\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",
"execution_count": null,
"execution_count": 2,
"metadata": {},
"outputs": [
{
"ename": "ImportError",
"evalue": "attempted relative import with no known parent package",
"output_type": "error",
"traceback": [
"\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": "stderr",
"output_type": "stream",
"text": [
"info:0: SislInfo: Please install tqdm (pip install tqdm) for better looking progress bars\n"
]
},
{
"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",
"execution_count": 3,
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'o': array([1., 0., 0.]),\n",
" 'vw': array([[0., 1., 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"
"name": "stdout",
"output_type": "stream",
"text": [
"[{'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"
]
}
],
"source": [
"# open fdf input\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",
"my_rot = []\n",
"fdf_rot = []\n",
"for rot in rotations:\n",
" dat = np.array(rot.split(), dtype=float)\n",
" o = dat[:3]\n",
" vw = dat[3:]\n",
" vw = vw.reshape(2, 3)\n",
" my_rot.append(dict(o=o, vw=vw))\n",
"\n",
"my_rot"
" fdf_rot.append(dict(o=o, vw=vw))\n",
"fdf_parameters[\"ref_xcf_orientations\"] = fdf_rot\n",
"\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