LCOV - code coverage report
Current view: top level - juphon - dfpt_check.F90 (source / functions) Hit Total Coverage
Test: FLEUR test coverage Lines: 0 16 0.0 %
Date: 2024-05-15 04:28:08 Functions: 0 1 0.0 %

          Line data    Source code
       1             : !--------------------------------------------------------------------------------
       2             : ! Copyright (c) 2021 Peter Grünberg Institut, Forschungszentrum Jülich, Germany
       3             : ! This file is part of FLEUR and available as free software under the conditions
       4             : ! of the MIT license as expressed in the LICENSE file in more detail.
       5             : !--------------------------------------------------------------------------------
       6             : MODULE m_dfpt_check
       7             : 
       8             : IMPLICIT NONE
       9             : 
      10             : CONTAINS
      11           0 :     SUBROUTINE dfpt_check(fi, xcpot)
      12             : 
      13             :         USE m_types_fleurinput
      14             :         USE m_types_xcpot_libxc
      15             :         USE m_juDFT_stop, only : juDFT_error
      16             : 
      17             :         TYPE(t_fleurinput), INTENT(IN) :: fi
      18             :         CLASS(t_xcpot),     INTENT(IN) :: xcpot
      19             : 
      20             :         LOGICAL :: l_libxc
      21             : 
      22           0 :         l_libxc = .FALSE.
      23             : 
      24             :         !Symmetry
      25           0 :         IF (fi%sym%nop.GT.1) CALL judft_error("juPhon uses only unit symmetry.")
      26             : 
      27             :         !Coretails
      28           0 :         IF (fi%input%ctail) CALL judft_error("juPhon coretails are problematic at the moment.")
      29             : 
      30             :         !!LOs
      31             :         !IF (ANY(fi%atoms%nlo.GT.0)) THEN
      32             :         !    CALL judft_error("juPhon doesn't do local orbitals yet.")
      33             :         !END IF
      34             : 
      35             :         !Noco
      36           0 :         IF (fi%noco%l_noco) CALL judft_error("juPhon doesn't do non-collinear systems yet.")
      37             : 
      38             :         !libxc
      39             :         SELECT TYPE(xcpot)
      40             :         TYPE IS (t_xcpot_libxc)
      41             :             l_libxc=.TRUE.
      42             :         END SELECT
      43             : 
      44           0 :         IF (.NOT.l_libxc) CALL judft_error("juPhon needs libxc functionals.")
      45             : 
      46             :         !GGA
      47           0 :         IF (xcpot%needs_grad()) CALL judft_error("juPhon doesn't do GGA functionals yet.")
      48             : 
      49             :         !MetaGGA
      50           0 :         IF (xcpot%exc_is_MetaGGA() .or. xcpot%vx_is_MetaGGA()) CALL judft_error("juPhon doesn't do MetaGGA functionals.")
      51             : 
      52             :         !DFTU etc.
      53           0 :         IF ((fi%atoms%n_u.GT.0).OR.(fi%atoms%n_hia.GT.0).OR.(fi%atoms%n_opc.GT.0)) CALL judft_error("juPhon doesn't do DFT+X [yet].")
      54             : 
      55             :         !SOC:
      56           0 :         IF (fi%noco%l_soc) CALL judft_error("juPhon doesn't do spin-orbit coupling yet.")
      57             : 
      58             :         !Spin spirals:
      59           0 :         IF (fi%noco%l_ss) CALL judft_error("juPhon doesn't do spin-spiral systems [yet].")
      60             : 
      61             :         !vdW
      62           0 :         IF (fi%input%vdw.GT.0) CALL judft_error("juPhon doesn't do van-der-Waals systems.")
      63             : 
      64             :         !Film
      65           0 :         IF (fi%input%film) CALL judft_error("juPhon doesn't do film systems.")
      66             : 
      67             :         !Hybrid/RDMFT
      68           0 :         IF (fi%hybinp%l_hybrid .OR. fi%input%l_rdmft) CALL judft_error("juPhon doesn't do hybrid or RDMFT.")
      69           0 :     END SUBROUTINE dfpt_check
      70           0 : END MODULE m_dfpt_check

Generated by: LCOV version 1.14