TABLE OF CONTENTS


ABINIT/m_abi_etsf [ Modules ]

[ Top ] [ Modules ]

NAME

 m_abi_etsf

FUNCTION

COPYRIGHT

 Copyright (C) 2006-2024 ABINIT group (DCA,YP,MJV,MG)
 This file is distributed under the terms of the
 GNU General Public License, see ~abinit/COPYING
 or http://www.gnu.org/copyleft/gpl.txt .

TODO

  Remove this module. At present it's used only in m_iowf.F90

SOURCE

18 #if defined HAVE_CONFIG_H
19 #include "config.h"
20 #endif
21 
22 #include "abi_common.h"
23 
24 module m_abi_etsf
25 
26  use defs_basis
27  use defs_wvltypes
28  use m_abicore
29  use m_dtset
30  use m_xmpi
31  use m_errors
32  use m_atomdata
33  use m_nctk
34  use, intrinsic :: iso_c_binding
35 
36  use m_fstrings,     only : endswith
37  use defs_datatypes, only : pseudopotential_type
38 
39  implicit none
40 
41  private
42 
43  public :: abi_etsf_init
44 
45 CONTAINS  !===========================================================

m_abi_etsf/abi_etsf_init [ Functions ]

[ Top ] [ m_abi_etsf ] [ Functions ]

NAME

 abi_etsf_init

FUNCTION

  Create a NetCDF file following the ETSF file format specifications.
  It declares the dimensions and set-up the different variables, according
  to the itype argument.

INPUTS

  dtset <type(dataset_type)>=all input variables for this dataset
  filapp = character string giving the root to form the name of the GEO file
  itype = an integer to define what to put in the output file. This can
          be one of the following values (maybe a sum latter):
          1 for a density file,
          2 for a wavefunction file,
          4 for a KSS file,
          8 for the exchange potential,
         16 for the correlation potential.
  kdep= .true. if the data for the array sizes are dependant on k points.
  lmn_size=Number of (l,m,n) elements for the PAW basis set.
  psps <type(pseudopotential_type)>=variables related to pseudopotentials
  wfs <type(wvl_projector_type)>=wavefunctions information for wavelets.

OUTPUT

  Data written in file whose name is filapp//'-etsf.nc'

SOURCE

 79 subroutine abi_etsf_init(dtset,filapp,itype,kdep,lmn_size,psps,wfs)
 80 
 81  implicit none
 82 
 83 !Arguments ------------------------------------
 84 !scalars
 85  integer,intent(in) :: itype
 86  logical,intent(in) :: kdep
 87  character(len=fnlen),intent(in) :: filapp
 88  type(dataset_type),intent(in) :: dtset
 89  type(pseudopotential_type),intent(in) :: psps
 90  type(wvl_wf_type),optional,intent(in) :: wfs
 91 !arrays
 92  integer,intent(in) :: lmn_size(psps%npsp)
 93 
 94 !Local variables-------------------------------
 95 
 96 ! *************************************************************************
 97 
 98  ABI_UNUSED(dtset%ntypat)
 99  ABI_UNUSED(filapp)
100  ABI_UNUSED(itype)
101  ABI_UNUSED(kdep)
102  ABI_UNUSED(lmn_size)
103  if(.false. .and. present(wfs))write(std_out,*)' OK'
104 
105 end subroutine abi_etsf_init

m_abi_etsf/ini_wf_etsf [ Functions ]

[ Top ] [ m_abi_etsf ] [ Functions ]

NAME

 ini_wf_etsf

FUNCTION

 Do initialization of additional dimensions and variables in wavefunction files in ETSF format.

INPUTS

  usewvl=1 if wavelets are used, 0 otherwise
  lmn_size=Number of (l,m,n) elements for the PAW basis set.
  npsp=number of pseudopotentials.
  ntypat=number of types of atoms in cell.
  ncid=the unit of the open NetCDF file.

SIDE EFFECTS

  New dimensions and variables are added to the initial NetCDF file.

SOURCE

129 subroutine ini_wf_etsf(ncid,usewvl,lmn_size,npsp,ntypat)
130 
131  implicit none
132 
133 !Arguments ------------------------------------
134 !scalars
135  integer,intent(in) :: ncid,usewvl,npsp,ntypat
136 !arrays
137  integer,intent(in) :: lmn_size(npsp)
138 
139 !Local variables-------------------------------
140 
141 ! *************************************************************************
142 
143 !if ETSF_IO is undefined, do nothing
144  ABI_UNUSED(ncid)
145  ABI_UNUSED(ntypat)
146  ABI_UNUSED(lmn_size)
147  ABI_UNUSED(usewvl)
148 
149 end subroutine ini_wf_etsf