LCOV - code coverage report
Current view: top level - diagonalization - writeout.F90 (source / functions) Hit Total Coverage
Test: FLEUR test coverage Lines: 0 25 0.0 %
Date: 2024-03-29 04:21:46 Functions: 0 1 0.0 %

          Line data    Source code
       1             : MODULE m_writeout
       2             : CONTAINS
       3             : 
       4           0 :   SUBROUTINE diag_writeout(smat,hmat)
       5             :     USE m_types_mat
       6             :     USE m_judft
       7             :     USE m_io_matrix
       8             :     USE m_types_mpimat
       9             : #ifdef CPP_MPI
      10             :     USE mpi
      11             : #endif
      12             :     IMPLICIT NONE
      13             :     CLASS(t_mat),INTENT(INOUT) :: hmat,smat
      14             :     !small subroutine that does only wite the matrix to a file
      15             :     INTEGER:: i,ii,irank,ierr,matsize
      16             :     CHARACTER(len=20)::filename
      17             : #ifdef CPP_MPI
      18           0 :     CALL MPI_COMM_RANK(MPI_COMM_WORLD,irank,ierr)
      19             : #else
      20             :     irank=0
      21             : #endif
      22             : 
      23             :     SELECT TYPE(hmat)
      24             :     TYPE is (t_mpimat)
      25           0 :        matsize=hmat%global_size1
      26             :     CLASS default
      27           0 :        matsize=hmat%matsize1
      28             :     END SELECT
      29             :     !First write binary file
      30             : #ifdef CPP_HDF
      31           0 :     i=open_matrix(hmat%l_real,matsize,2,2,"hs_mat")
      32             : #else
      33             :     i=open_matrix(hmat%l_real,hmat%matsize1,1,2,"hs_mat")
      34             : #endif
      35           0 :     CALL write_matrix(hmat,1,i)
      36           0 :     CALL write_matrix(smat,2,i)
      37           0 :     CALL close_matrix(i)
      38             : 
      39             :     !Now the formatted matrix
      40           0 :     WRITE(filename,"(a,i0)") "hmat",irank
      41           0 :     OPEN(999,file=TRIM(filename))
      42           0 :     WRITE(filename,"(a,i0)") "smat",irank
      43           0 :     OPEN(998,file=TRIM(filename))
      44           0 :     DO i=1,hmat%matsize2
      45           0 :        DO ii=1,hmat%matsize1
      46           0 :           IF (hmat%l_real) THEN
      47           0 :              WRITE(999,"(2i6,f15.6)") ii,i,hmat%data_r(ii,i)
      48           0 :              WRITE(998,"(2i6,f15.6)") ii,i,smat%data_r(ii,i)
      49             :           ELSE
      50           0 :              WRITE(999,"(2i6,2f15.6)") ii,i,hmat%data_c(ii,i)
      51           0 :              WRITE(998,"(2i6,2f15.6)") ii,i,smat%data_c(ii,i)
      52             :           ENDIF
      53             :        END DO
      54             :     ENDDO
      55           0 :     CLOSE(999)
      56           0 :     CLOSE(998)
      57             : #ifdef CPP_MPI
      58           0 :     CALL MPI_BARRIER(MPI_COMM_WORLD,ierr)
      59             : #endif
      60           0 :     CALL judft_error("STOP in eigen_diag:debug_diag")
      61           0 :   END SUBROUTINE diag_writeout
      62           0 : END MODULE m_writeout

Generated by: LCOV version 1.14