Commit ab4e2969 authored by Gregor Michalicek's avatar Gregor Michalicek

Even more work to integrate the Wannier code

parent cdf4da44
...@@ -16,7 +16,10 @@ MODULE m_eig66_io ...@@ -16,7 +16,10 @@ MODULE m_eig66_io
PUBLIC read_dos,write_dos PUBLIC read_dos,write_dos
CONTAINS CONTAINS
FUNCTION open_eig(mpi_comm,nmat,neig,nkpts,jspins,lmax,nlo,ntype,nlotot,l_noco,l_create,l_real,l_soc,l_readonly,n_size,mode_in,filename,layers,nstars,ncored,nsld,nat,l_dos,l_mcd,l_orb)RESULT(id) FUNCTION open_eig(mpi_comm,nmat,neig,nkpts,jspins,lmax,nlo,ntype,nlotot,&
l_noco,l_create,l_real,l_soc,l_readonly,n_size,mode_in,&
filename,layers,nstars,ncored,nsld,nat,l_dos,l_mcd,l_orb)&
RESULT(id)
USE m_eig66_hdf,ONLY:open_eig_hdf=>open_eig USE m_eig66_hdf,ONLY:open_eig_hdf=>open_eig
USE m_eig66_DA ,ONLY:open_eig_DA=>open_eig USE m_eig66_DA ,ONLY:open_eig_DA=>open_eig
USE m_eig66_mem,ONLY:open_eig_mem=>open_eig USE m_eig66_mem,ONLY:open_eig_mem=>open_eig
......
...@@ -55,7 +55,7 @@ wannier/wann_nocoplot.F ...@@ -55,7 +55,7 @@ wannier/wann_nocoplot.F
wannier/wann_optional.f wannier/wann_optional.f
wannier/wann_orbcomp.f wannier/wann_orbcomp.f
wannier/wann_orbmag.F wannier/wann_orbmag.F
wannier/wann_pauli_rs.f wannier/wann_pauli_rs.F
wannier/wann_perpmag_rs.f wannier/wann_perpmag_rs.f
wannier/wann_plot.F wannier/wann_plot.F
wannier/wann_plot_from_lapw.f wannier/wann_plot_from_lapw.f
......
This diff is collapsed.
MODULE m_wann_maxbnd MODULE m_wann_maxbnd
USE m_fleurenv
c**************************************************************** c****************************************************************
c determine maximum of number of bands c determine maximum of number of bands
c**************************************************************** c****************************************************************
CONTAINS CONTAINS
SUBROUTINE wann_maxbnd( SUBROUTINE wann_maxbnd(
> eig_id,
> lmaxd,ntypd,nlod,neigd,nvd,jspd, > lmaxd,ntypd,nlod,neigd,nvd,jspd,
> isize,jspin,nbasfcn,nlotot, > isize,jspin,nbasfcn,nlotot,
> l_ss,l_noco,nrec,fullnkpts,irecl, > l_ss,l_noco,nrec,fullnkpts,irecl,
...@@ -13,11 +14,11 @@ c**************************************************************** ...@@ -13,11 +14,11 @@ c****************************************************************
> e1s,e2s,ef,nkpt,nbnd,l_gwf,iqpt) > e1s,e2s,ef,nkpt,nbnd,l_gwf,iqpt)
use m_cdnread, only:cdn_read use m_cdnread, only:cdn_read
use m_od_types,only:od_inp use m_types
use m_wann_rw_eig use m_wann_rw_eig
IMPLICIT NONE IMPLICIT NONE
integer,intent(in) :: lmaxd,ntypd,nlod,neigd,nvd,jspd integer,intent(in) :: lmaxd,ntypd,nlod,neigd,nvd,jspd,eig_id
integer,intent(in) :: isize,jspin,nbasfcn,nlotot,iqpt integer,intent(in) :: isize,jspin,nbasfcn,nlotot,iqpt
logical,intent(in) :: l_ss,l_noco,l_gwf logical,intent(in) :: l_ss,l_noco,l_gwf
integer,intent(in) :: nrec,fullnkpts,irecl integer,intent(in) :: nrec,fullnkpts,irecl
...@@ -41,12 +42,9 @@ c**************************************************************** ...@@ -41,12 +42,9 @@ c****************************************************************
INTEGER :: kveclo(nlotot) INTEGER :: kveclo(nlotot)
integer :: n_start,n_end,co integer :: n_start,n_end,co
integer :: num_bands integer :: num_bands
#if ( !defined(CPP_INVERSION) || defined(CPP_SOC) ) TYPE(t_zmat) :: zMat
COMPLEX :: z(nbasfcn,neigd)
#else
REAL :: z(nbasfcn,neigd)
#endif
n_start=1 n_start=1
n_end=neigd n_end=neigd
...@@ -55,12 +53,13 @@ c**************************************************************** ...@@ -55,12 +53,13 @@ c****************************************************************
kptibz=ikpt kptibz=ikpt
if(l_bzsym) kptibz=irreduc(ikpt) if(l_bzsym) kptibz=irreduc(ikpt)
call wann_read_eig( call wann_read_eig(
> eig_id,
> lmaxd,ntypd,nlod,neigd,nvd,jspd, > lmaxd,ntypd,nlod,neigd,nvd,jspd,
> 0,isize,kptibz,jspin,nbasfcn,nlotot, > 0,isize,kptibz,jspin,nbasfcn,nlotot,
> l_ss,l_noco,nrec,irecl, > l_ss,l_noco,nrec,
< nmat,nv,ello,evdu,epar,kveclo, < nmat,nv,ello,evdu,epar,kveclo,
< k1,k2,k3,bkpt,wk,nbands,eig,z,cp_time,66, < k1,k2,k3,bkpt,wk,nbands,eig,zMat,
> l_gwf,iqpt) > l_gwf,iqpt)
nkbnd = 0 nkbnd = 0
......
...@@ -50,6 +50,14 @@ c****************************************************************** ...@@ -50,6 +50,14 @@ c******************************************************************
implicit none implicit none
#include "cpp_double.h"
#ifdef CPP_MPI
include 'mpif.h'
integer mpiierr(3)
integer cpu_index
integer stt(MPI_STATUS_SIZE)
#endif
TYPE(t_dimension),INTENT(IN) :: DIMENSION TYPE(t_dimension),INTENT(IN) :: DIMENSION
TYPE(t_stars),INTENT(IN) :: stars TYPE(t_stars),INTENT(IN) :: stars
TYPE(t_vacuum),INTENT(IN) :: vacuum TYPE(t_vacuum),INTENT(IN) :: vacuum
...@@ -63,14 +71,6 @@ c****************************************************************** ...@@ -63,14 +71,6 @@ c******************************************************************
TYPE(t_noco),INTENT(IN) :: noco TYPE(t_noco),INTENT(IN) :: noco
TYPE(t_cell),INTENT(IN) :: cell TYPE(t_cell),INTENT(IN) :: cell
#include "cpp_double.h"
#ifdef CPP_MPI
include 'mpif.h'
integer mpiierr(3)
integer cpu_index
integer stt(MPI_STATUS_SIZE)
#endif
integer, intent (in) :: band_min(2),band_max(2),mpi_comm,eig_id integer, intent (in) :: band_min(2),band_max(2),mpi_comm,eig_id
logical, intent (in) :: l_soc logical, intent (in) :: l_soc
logical, intent (in) :: invs,invs2,film,slice,symor logical, intent (in) :: invs,invs2,film,slice,symor
......
...@@ -458,7 +458,7 @@ c > volint,symor,pos,ef,wann%l_bzsym,irecl) ...@@ -458,7 +458,7 @@ c > volint,symor,pos,ef,wann%l_bzsym,irecl)
if(wann%l_lapw.and.l_p0)then if(wann%l_lapw.and.l_p0)then
call wannier_to_lapw( call wannier_to_lapw(
> mpi_comm,eig_id, > mpi_comm,eig_id,
> input,lapw,oneD,noco,sym,cell,atoms, > input,lapw,oneD,noco,sym,cell,atoms,stars,vacuum,sphhar,
> l_soc,wann%unigrid,i,wann%band_min,wann%band_max, > l_soc,wann%unigrid,i,wann%band_min,wann%band_max,
> l_dulo,l_noco,l_ss,lmaxd,ntypd, > l_dulo,l_noco,l_ss,lmaxd,ntypd,
> neigd,natd,nop,nvd,jspd,nbasfcn,llod,nlod,ntype, > neigd,natd,nop,nvd,jspd,nbasfcn,llod,nlod,ntype,
...@@ -540,7 +540,7 @@ c write(*,*)'alph',alph ...@@ -540,7 +540,7 @@ c write(*,*)'alph',alph
c write(*,*)'beta',beta c write(*,*)'beta',beta
c nkqpts=fullnkpts c nkqpts=fullnkpts
c if(l_sgwf) nkqpts=fullnkpts*fullnqpts c if(l_sgwf) nkqpts=fullnkpts*fullnqpts
call wann_nocoplot(slice,nnne,!nslibd call wann_nocoplot(atoms,slice,nnne,!nslibd
> amat,bmat,fullnkpts,odi,film, > amat,bmat,fullnkpts,odi,film,
> natd,ntypd,jmtd,ntype,neq,pos, > natd,ntypd,jmtd,ntype,neq,pos,
> jri,rmsh,alph,beta,fullnqpts,qss, > jri,rmsh,alph,beta,fullnqpts,qss,
......
...@@ -17,7 +17,7 @@ c****************************************************************** ...@@ -17,7 +17,7 @@ c******************************************************************
contains contains
subroutine wannier_to_lapw( subroutine wannier_to_lapw(
> mpi_comm,eig_id, > mpi_comm,eig_id,
> input,lapw,oneD,noco,sym,cell,atoms, > input,lapw,oneD,noco,sym,cell,atoms,stars,vacuum,sphhar,
> l_soc,unigrid,sortrule,band_min,band_max, > l_soc,unigrid,sortrule,band_min,band_max,
> l_dulo,l_noco,l_ss,lmaxd,ntypd, > l_dulo,l_noco,l_ss,lmaxd,ntypd,
> neigd,natd,nop,nvd,jspd,nbasfcn,llod,nlod,ntype, > neigd,natd,nop,nvd,jspd,nbasfcn,llod,nlod,ntype,
...@@ -53,6 +53,9 @@ c****************************************************************** ...@@ -53,6 +53,9 @@ c******************************************************************
TYPE(t_sym),INTENT(IN) :: sym TYPE(t_sym),INTENT(IN) :: sym
TYPE(t_cell),INTENT(IN) :: cell TYPE(t_cell),INTENT(IN) :: cell
TYPE(t_atoms),INTENT(IN) :: atoms TYPE(t_atoms),INTENT(IN) :: atoms
TYPE(t_stars),INTENT(IN) :: stars
TYPE(t_vacuum),INTENT(IN) :: vacuum
TYPE(t_sphhar),INTENT(IN) :: sphhar
#ifdef CPP_MPI #ifdef CPP_MPI
include 'mpif.h' include 'mpif.h'
...@@ -237,15 +240,11 @@ cccccccccccccccc initialize the potential cccccccccccc ...@@ -237,15 +240,11 @@ cccccccccccccccc initialize the potential cccccccccccc
open (8,file='pottot',form='unformatted',status='old') open (8,file='pottot',form='unformatted',status='old')
rewind (8) rewind (8)
#ifdef CPP_NEVER
call loddop( call loddop(stars,vacuum,atoms,sphhar,input,sym,
> jspd,n3d,odi%n2d,nmzxyd,nmzd,jmtd,nlhd,ntypd, > 8,
> jspins,nq3,odi%nq2,nvac,ntype,invs,invs2,film, < iter,vrf,vpw,vz,vzxy)
> nlh,jri,ntypsd,ntypsy,8,natd,neq,
< iop,dop,iter,vrf,vpw,vz,vzxy,name)
#else
call judft_error("NOT implemented")
#endif
close (8) close (8)
do jspin = 1,jspins do jspin = 1,jspins
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment