-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Spin symmetric MTOs with --phispinsym.
With --phispinsym option for lmf,lmf-MPIK, we can use spin-averages pnu and V0. Use job_ham_phispinsym instead of job_ham. From V0 and pnu, we calculate radial funcitons phi and phidot. pnu corresponding to energies of radial schrodinger eq. V0 is the spherical potential, ssite(ib)%rv_a_ov0. Search --phispinsym in the console output. It shows ---- bndfp: --phispinsym use spin-averaged potential for phi and phidot ibas l= 1 0 pnu= 4.58531 4.57791 --> 4.58161 ibas l= 1 1 pnu= 4.40324 4.38211 --> 4.39268 .... (this is symmetrization of pnu) at the begining of bndfp ---- locpot: --phispinsym mode: use spin-averaged potential for phi and phidot ibas l= 1 0 pnu(1:nsp) pnz(1:nsp)= 4.58161 4.58161 0.00000 0.00000 ibas l= 1 1 pnu(1:nsp) pnz(1:nsp)= 4.39268 4.39268 3.94432 3.94432 ... (this shows pnu used in locpot). What we can do are 1. self-consistent calculations can be performed with --phispinsym 2. Even if the self-consistency is spin-dependent phi,phidot, job_ham_phispinsym (see --phispinsym option) gives Hamiltonian, based on the spin-symmetric radial functions. Then the radial functions are calculated from the spin-averaged V0 and pnu. --- I think we can perfrom QSGW calculation if we use the option for lmf,lmfgw (not tested yet). We may need to insert --phispinsym in gwsc script (not yet). I think we can give Hamiltonian based on the spin-averaged phi,phidot even in QSGW self-consistent results without --phispinsym. ===================================================================== MEMO for development: ===================================================================== At first, note that we have lmf subroutines; -------- fp/bndfp.F (main one-iteration loop of band calculation) -mkpot (potential generation) --locpot (MT parts) ---augmat (augmentation matrix: MT-part of Hamiltonian and overlap matrix). Note mkpot is called even in bndfp-sugw-mkpot locpot: gives ov0. ov0 is symmetrized. pnunew: renew pnu---so pnu should symmetrized. bndfp: pnu is symmetrized at the begining befor mkpot-locpot
- Loading branch information
Showing
6 changed files
with
111 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
#!/bin/bash | ||
echo $0 | ||
echo $@ | ||
echo $1 | ||
if [ $# -le 2 ] || [ $2 != "-np" ]; then | ||
echo "An example of usage: job_ham si -np 4 [options for lmf]" | ||
echo " CAUTION: We need PWMODE={pwmode}, where const pwmode=11 (or somegthing) given in ctrl file as follows." | ||
echo " %const pwmode=11" | ||
echo " PWMODE={pwmode} " | ||
exit | ||
else | ||
MPI_SIZE=$3 | ||
fi | ||
|
||
# We introduced {pwmode}. as PWMODE={pwmode} | ||
rm HamiltonianMTO* | ||
#Get efermi.lmf | ||
echo 'runnnig efermi determination for pwmode=0' | ||
mpirun -np $3 ~/ecalj/lm7K/lmf-MPIK $1 --quit=band -vpwmode=0 --phispinsym > lmf_efermi | ||
echo 'runnnig hamiltonian generation for pwmode=0' | ||
mpirun -np $3 ~/ecalj/lm7K/lmf-MPIK $1 --writeham --mkprocar --fullmesh -vpwmode=0 --phispinsym | ||
|
||
# Get Hamiltonian file, namded as HamiltonianMTO | ||
cat HamiltonianMTO.* >HamiltonianMTO | ||
rm HamiltonianMTO.* | ||
|
||
# Read HamiltonianMTO. | ||
~/ecalj/lm7K/lmfham | ||
|