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
PUBLIC read_dos,write_dos
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_DA ,ONLY:open_eig_DA=>open_eig
USE m_eig66_mem,ONLY:open_eig_mem=>open_eig
......
......@@ -55,7 +55,7 @@ wannier/wann_nocoplot.F
wannier/wann_optional.f
wannier/wann_orbcomp.f
wannier/wann_orbmag.F
wannier/wann_pauli_rs.f
wannier/wann_pauli_rs.F
wannier/wann_perpmag_rs.f
wannier/wann_plot.F
wannier/wann_plot_from_lapw.f
......
This diff is collapsed.
MODULE m_wann_maxbnd
USE m_fleurenv
c****************************************************************
c determine maximum of number of bands
c****************************************************************
CONTAINS
SUBROUTINE wann_maxbnd(
> eig_id,
> lmaxd,ntypd,nlod,neigd,nvd,jspd,
> isize,jspin,nbasfcn,nlotot,
> l_ss,l_noco,nrec,fullnkpts,irecl,
......@@ -13,11 +14,11 @@ c****************************************************************
> e1s,e2s,ef,nkpt,nbnd,l_gwf,iqpt)
use m_cdnread, only:cdn_read
use m_od_types,only:od_inp
use m_types
use m_wann_rw_eig
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
logical,intent(in) :: l_ss,l_noco,l_gwf
integer,intent(in) :: nrec,fullnkpts,irecl
......@@ -41,12 +42,9 @@ c****************************************************************
INTEGER :: kveclo(nlotot)
integer :: n_start,n_end,co
integer :: num_bands
#if ( !defined(CPP_INVERSION) || defined(CPP_SOC) )
COMPLEX :: z(nbasfcn,neigd)
#else
REAL :: z(nbasfcn,neigd)
#endif
TYPE(t_zmat) :: zMat
n_start=1
n_end=neigd
......@@ -55,12 +53,13 @@ c****************************************************************
kptibz=ikpt
if(l_bzsym) kptibz=irreduc(ikpt)
call wann_read_eig(
call wann_read_eig(
> eig_id,
> lmaxd,ntypd,nlod,neigd,nvd,jspd,
> 0,isize,kptibz,jspin,nbasfcn,nlotot,
> l_ss,l_noco,nrec,irecl,
> l_ss,l_noco,nrec,
< 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)
nkbnd = 0
......
......@@ -50,6 +50,14 @@ c******************************************************************
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_stars),INTENT(IN) :: stars
TYPE(t_vacuum),INTENT(IN) :: vacuum
......@@ -63,14 +71,6 @@ c******************************************************************
TYPE(t_noco),INTENT(IN) :: noco
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
logical, intent (in) :: l_soc
logical, intent (in) :: invs,invs2,film,slice,symor
......
......@@ -458,7 +458,7 @@ c > volint,symor,pos,ef,wann%l_bzsym,irecl)
if(wann%l_lapw.and.l_p0)then
call wannier_to_lapw(
> 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_dulo,l_noco,l_ss,lmaxd,ntypd,
> neigd,natd,nop,nvd,jspd,nbasfcn,llod,nlod,ntype,
......@@ -540,7 +540,7 @@ c write(*,*)'alph',alph
c write(*,*)'beta',beta
c nkqpts=fullnkpts
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,
> natd,ntypd,jmtd,ntype,neq,pos,
> jri,rmsh,alph,beta,fullnqpts,qss,
......
......@@ -17,7 +17,7 @@ c******************************************************************
contains
subroutine wannier_to_lapw(
> 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_dulo,l_noco,l_ss,lmaxd,ntypd,
> neigd,natd,nop,nvd,jspd,nbasfcn,llod,nlod,ntype,
......@@ -53,6 +53,9 @@ c******************************************************************
TYPE(t_sym),INTENT(IN) :: sym
TYPE(t_cell),INTENT(IN) :: cell
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
include 'mpif.h'
......@@ -237,15 +240,11 @@ cccccccccccccccc initialize the potential cccccccccccc
open (8,file='pottot',form='unformatted',status='old')
rewind (8)
#ifdef CPP_NEVER
call loddop(
> jspd,n3d,odi%n2d,nmzxyd,nmzd,jmtd,nlhd,ntypd,
> jspins,nq3,odi%nq2,nvac,ntype,invs,invs2,film,
> nlh,jri,ntypsd,ntypsy,8,natd,neq,
< iop,dop,iter,vrf,vpw,vz,vzxy,name)
#else
call judft_error("NOT implemented")
#endif
call loddop(stars,vacuum,atoms,sphhar,input,sym,
> 8,
< iter,vrf,vpw,vz,vzxy)
close (8)
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