Commit bc7fee9e authored by Daniel Wortmann's avatar Daniel Wortmann

Merge branch 'develop' of iffgit.fz-juelich.de:fleur/fleur into develop

parents c524d9e6 d694056b
......@@ -62,7 +62,7 @@ if (DEFINED CLI_FLEUR_USE_HDF5)
add_subdirectory (external/hdf5-git EXCLUDE_FROM_ALL)
set(FLEUR_USE_HDF5 TRUE)
set(FLEUR_USE_HDF5MPI FLEUR_USE_MPI)
set(FLEUR_LIBRARIES "${FLEUR_LIBRARIES};hdf5_fortran-static")
set(FLEUR_COMPILE_HDF true)
include_directories("${CMAKE_CURRENT_BINARY_DIR}/modules/hdf5/static")
endif()
else()
......
......@@ -9,6 +9,9 @@ if(NOT EXISTS "${PROJECT_SOURCE_DIR}/juDFT/CMakeLists.txt" )
endif()
set(JUDFT_USE_MPI ${FLEUR_USE_MPI} CACHE BOOL "Compile with MPI, will also work in serial")
set(JUDFT_USE_HDF5 ${FLEUR_USE_HDF5} CACHE BOOL "Compile with HDF5")
if (DEFINED FLEUR_COMPILE_HDF)
set(JUDFT_COMPILE_HDF ON CHACHE BOOL "The HDF5 is compiled as submodule")
endif()
if (DEFINED FLEUR_USE_HDF5MPI)
set(JUDFT_USE_HDF5MPI FLEUR_USE_HDF5MPI CACHE BOOL "Is the HDF5 version able to do parallel IO" )
endif()
......
......@@ -11,7 +11,8 @@ Suppose, you have converged a charge density, e.g. of a 3 layer Cu film as descr
* change ` force =F ` to ` force =T ` in the inp-file, for those atoms, which you want to relax.
* change ` l_f=F ` to ` l_f=T ` in the inp-file, to allow the generation of Pulay-forces
* edit the line ` relax 000 001 ` at the end of the inp-file to allow relaxations in specific directions (here, ` 000` means no relaxation of the first atom, ` 001 ` means only in z-direction for the second).
* then run a few iterations, until the program stops with ` GEO: new inp created !`. This will happen, if the forces of two subsequent iterations do not differ more than 0.00001 htr/a.u. (This parameter should not be changed to ensure good convergence of the forces. It can, however, in cases of emergency be changed by creating an "eps_force"-file, which contains a different convergence parameter.)
* then run a few iterations, until the program stops with ` Structual relaxation: new displacements generated`. This will happen, if the forces of two subsequent iterations do not differ more than 0.00001 htr/a.u. (This parameter should not be changed to ensure good convergence of the forces. It can, however, in cases of emergency be changed by creating an "eps_force"-file, which contains a different convergence parameter.)
* now the new forces and the displacement is saved in the file `relax.xml`. When starting fleur for another time this file is included in the `inp.xml` and will be used for the new positions of the atoms.
When this is finished, you will notice that you have two new files in your working directory:
......
This diff is collapsed.
......@@ -80,10 +80,10 @@ CONTAINS
CALL MPI_BCAST(l_conv,1,MPI_LOGICAL,0,mpi%mpi_comm,ierr)
#endif
IF (l_conv) THEN
CALL judft_end("Structual relaxation: Done",0)
CALL judft_end("Structual relaxation: Done",mpi%irank)
ELSE
CALL mixing_history_reset(mpi)
CALL judft_end("Structual relaxation: new displacements generated",0)
CALL judft_end("Structual relaxation: new displacements generated",mpi%irank)
END IF
END SUBROUTINE relaxation
......
......@@ -7,6 +7,7 @@ option(JUDFT_USE_HDF5 "Compile HDF5 tools" OFF)
option(JUDFT_USE_HDF5MPI "Is the HDF5 version able to do parallel IO" OFF)
option(JUDFT_USE_COLLECT "Collect usage data" ON)
option(JUDFT_USE_DEBUG "Set CPP_DEBUG when compiling code" OFF)
option(JUDFT_COMPILE_HDF "HDF5 is compiled as submodule" OFF)
#In addition you might want to set
#set(JUDFT_LIBRARIES "-lsomething")
#set(JUFDT_COMPILEOPTS "-r8")
......@@ -45,7 +46,10 @@ if (JUDFT_USE_MPI)
endif()
if (JUDFT_USE_HDF5)
target_compile_definitions(juDFT PUBLIC CPP_HDF)
target_link_libraries(juDFT "hdf5_fortran;hdf5")
target_link_libraries(juDFT hdf5_fortran hdf5)
if (JUDFT_COMPILE_HDF)
target_link_libraries(juDFT hdf5_fortran-static)
endif()
endif()
if (JUDFT_USE_HDF5MPI)
target_compile_definitions(juDFT PUBLIC CPP_HDFMPI)
......
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