Commit 2bb6c537 authored by Daniel Wortmann's avatar Daniel Wortmann

Added a script to simplifly the generation of tests and modified the testing...

Added a script to simplifly the generation of tests and modified the testing environment. Documentation still missing. Contributes to #190
parent 55719b61
......@@ -29,7 +29,6 @@ include(mix/CMakeLists.txt)
include(vgen/CMakeLists.txt)
include(inpgen/CMakeLists.txt)
include(docs/CMakeLists.txt)
include(tests/CMakeLists.txt)
include(mpi/CMakeLists.txt)
include(hybrid/CMakeLists.txt)
include(eels/CMakeLists.txt)
......@@ -39,6 +38,10 @@ include(wannier/uhu/CMakeLists.txt)
include(forcetheorem/CMakeLists.txt)
include(rdmft/CMakeLists.txt)
include(tests/tests_old.cmake)
include(tests/tests_new.cmake)
set(inpgen_F77 ${inpgen_F77}
inpgen/element.f inpgen/atom_input.f inpgen/crystal.f inpgen/lattice2.f inpgen/setab.f inpgen/super_check.f
inpgen/atom_sym.f inpgen/generator.f inpgen/read_record.f inpgen/soc_or_ssdw.f inpgen/symproperties.f
......
......@@ -379,21 +379,28 @@ IMPLICIT NONE
IF (myid==0) CALL write_eig(chase_eig_id,ikpt,jsp,nev+nex,nev+nex,&
eigenvalues(:(nev+nex)),zmat=zMatTemp)
CALL hmat%copy(zmatTemp,1,1) !Copy matrix into distributed form
call zmatTemp%free()
! --> recover the generalized eigenvectors z by solving z' = l^t * z
!Back-Transform
IF (smat%l_real) THEN
CALL pdtrtrs('U','N','N',hmat%global_size1,nev,smat%data_r,1,1,smat%blacs_desc,&
hmat%data_r,1,1,smat%blacs_desc,info)
CALL PDTRTRI('U','N',smat%global_size1,smat%data_r,1,1,smat%blacs_desc,info)
CALL PDGEMM('N','N',smat%global_size1,smat%global_size1,smat%global_size1,1.0,smat%data_r,1,1,smat%blacs_desc,zmatTemp%data_r,1,1,zmattemp%blacs_desc,0.0,hmat%data_r,1,1,hmat%blacs_desc)
ELSE
CALL pztrtrs('U','N','N',hmat%global_size1,nev,smat%data_c,1,1,smat%blacs_desc,&
hmat%data_c,1,1,smat%blacs_desc,info)
END IF
IF (info.NE.0) THEN
WRITE (6,*) 'Error in p?trtrs: info =',info
CALL juDFT_error("Diagonalization failed",calledby="chase_diag")
STOP 'chase no complex'
ENDIF
!!$ CALL hmat%copy(zmatTemp,1,1) !Copy matrix into distributed form
!!$ call zmatTemp%free()
!!$
!!$ ! --> recover the generalized eigenvectors z by solving z' = l^t * z
!!$ IF (smat%l_real) THEN
!!$ CALL pdtrtrs('U','N','N',hmat%global_size1,hmat%global_size1,smat%data_r,1,1,smat%blacs_desc,&
!!$ hmat%data_r,1,1,smat%blacs_desc,info)
!!$ ELSE
!!$ CALL pztrtrs('U','N','N',hmat%global_size1,hmat%global_size1,smat%data_c,1,1,smat%blacs_desc,&
!!$ hmat%data_c,1,1,smat%blacs_desc,info)
!!$ END IF
!!$ IF (info.NE.0) THEN
!!$ WRITE (6,*) 'Error in p?trtrs: info =',info
!!$ CALL juDFT_error("Diagonalization failed",calledby="chase_diag")
!!$ ENDIF
! Redistribute eigvec from ScaLAPACK distribution to each process
! having all eigenvectors corresponding to his eigenvalues as above
......
......@@ -54,3 +54,4 @@ if (${FLEUR_USE_MPI})
${test} "${CMAKE_BINARY_DIR}/fleur_MPI" "${mpi_exec}")
endforeach(test)
endif()
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