34 #if defined(__COMPILE_REVISION)
35 CHARACTER(LEN=*),
PARAMETER :: compile_revision = __compile_revision
37 CHARACTER(LEN=*),
PARAMETER :: compile_revision =
"unknown"
40 CHARACTER(LEN=*),
PARAMETER ::
cp2k_version =
"CP2K version 2024.1 (Development Version)"
42 CHARACTER(LEN=*),
PARAMETER ::
cp2k_home =
"https://www.cp2k.org/"
45 #if defined(__COMPILE_ARCH)
46 CHARACTER(LEN=*),
PARAMETER ::
compile_arch = __compile_arch
48 CHARACTER(LEN=*),
PARAMETER ::
compile_arch =
"unknown: -D__COMPILE_ARCH=?"
51 #if defined(__COMPILE_DATE)
52 CHARACTER(LEN=*),
PARAMETER ::
compile_date = __compile_date
54 CHARACTER(LEN=*),
PARAMETER ::
compile_date =
"unknown: -D__COMPILE_DATE=?"
57 #if defined(__COMPILE_HOST)
58 CHARACTER(LEN=*),
PARAMETER ::
compile_host = __compile_host
60 CHARACTER(LEN=*),
PARAMETER ::
compile_host =
"unknown: -D__COMPILE_HOST=?"
65 CHARACTER(LEN=default_path_length),
PUBLIC ::
r_cwd
69 CHARACTER(len=*),
PARAMETER,
PRIVATE :: modulen =
'cp2k_info'
78 CHARACTER(len=10*default_string_length) :: flags
80 CHARACTER(len=default_string_length) :: tmp_str
86 flags = trim(flags)//trim(tmp_str)
90 flags = trim(flags)//
" libint"
93 flags = trim(flags)//
" fftw3"
95 #if defined(__FFTW3_MKL)
96 flags = trim(flags)//
" fftw3_mkl"
99 flags = trim(flags)//
" libxc"
101 #if defined(__LIBGRPP)
102 flags = trim(flags)//
" libgrpp"
104 #if defined(__LIBPEXSI)
105 flags = trim(flags)//
" pexsi"
108 flags = trim(flags)//
" elpa"
110 #if defined(__ELPA_NVIDIA_GPU)
111 flags = trim(flags)//
" elpa_nvidia_gpu"
113 #if defined(__ELPA_AMD_GPU)
114 flags = trim(flags)//
" elpa_amd_gpu"
116 #if defined(__ELPA_INTEL_GPU)
117 flags = trim(flags)//
" elpa_intel_gpu"
119 #if defined(__parallel)
120 flags = trim(flags)//
" parallel"
122 #if defined(__MPI_F08)
123 flags = trim(flags)//
" mpi_f08"
125 #if defined(__SCALAPACK)
126 flags = trim(flags)//
" scalapack"
129 flags = trim(flags)//
" cosma"
133 flags = trim(flags)//
" quip"
136 #if defined(__HAS_PATCHED_CUFFT_70)
137 flags = trim(flags)//
" patched_cufft_70"
140 #if defined(__DEEPMD)
141 flags = trim(flags)//
" deepmd"
144 #if defined(__PW_FPGA)
145 flags = trim(flags)//
" pw_fpga"
148 #if defined(__PW_FPGA_SP)
149 flags = trim(flags)//
" pw_fpga_sp"
152 #if defined(__LIBXSMM)
153 flags = trim(flags)//
" xsmm"
156 #if defined(__CRAY_PM_ACCEL_ENERGY)
157 flags = trim(flags)//
" cray_pm_accel_energy"
159 #if defined(__CRAY_PM_ENERGY)
160 flags = trim(flags)//
" cray_pm_energy"
162 #if defined(__CRAY_PM_FAKE_ENERGY)
163 flags = trim(flags)//
" cray_pm_fake_energy"
165 #if defined(__DBCSR_ACC)
166 flags = trim(flags)//
" dbcsr_acc"
168 #if defined(__MAX_CONTR)
170 flags = trim(flags)//
" max_contr="//trim(tmp_str)
172 #if defined(__NO_SOCKETS)
173 flags = trim(flags)//
" no_sockets"
175 #if defined(__NO_MPI_THREAD_SUPPORT_CHECK)
176 flags = trim(flags)//
" no_mpi_thread_support_check"
178 #if defined(__NO_STATM_ACCESS)
179 flags = trim(flags)//
" no_statm_access"
182 flags = trim(flags)//
" mingw"
184 #if defined(__PW_CUDA_NO_HOSTALLOC)
185 flags = trim(flags)//
" pw_cuda_no_hostalloc"
187 #if defined(__STATM_RESIDENT)
188 flags = trim(flags)//
" statm_resident"
190 #if defined(__STATM_TOTAL)
191 flags = trim(flags)//
" statm_total"
193 #if defined(__PLUMED2)
194 flags = trim(flags)//
" plumed2"
196 #if defined(__HAS_IEEE_EXCEPTIONS)
197 flags = trim(flags)//
" has_ieee_exceptions"
199 #if defined(__NO_ABORT)
200 flags = trim(flags)//
" no_abort"
202 #if defined(__SPGLIB)
203 flags = trim(flags)//
" spglib"
205 #if defined(__ACCELERATE)
206 flags = trim(flags)//
" accelerate"
209 flags = trim(flags)//
" mkl"
211 #if defined(__SIRIUS)
212 flags = trim(flags)//
" sirius"
214 #if defined(__CHECK_DIAG)
215 flags = trim(flags)//
" check_diag"
217 #if defined(__LIBVORI)
218 flags = trim(flags)//
" libvori"
219 flags = trim(flags)//
" libbqb"
221 #if defined(__LIBMAXWELL)
222 flags = trim(flags)//
" libmaxwell"
224 #if defined(__LIBTORCH)
225 flags = trim(flags)//
" libtorch"
227 #if defined(__OFFLOAD_CUDA)
228 flags = trim(flags)//
" offload_cuda"
230 #if defined(__OFFLOAD_HIP)
231 flags = trim(flags)//
" offload_hip"
233 #if defined(__OFFLOAD_OPENCL)
234 flags = trim(flags)//
" offload_opencl"
236 #if defined(__NO_OFFLOAD_GRID)
237 flags = trim(flags)//
" no_offload_grid"
239 #if defined(__NO_OFFLOAD_DBM)
240 flags = trim(flags)//
" no_offload_dbm"
242 #if defined(__NO_OFFLOAD_PW)
243 flags = trim(flags)//
" no_offload_pw"
245 #if defined(__OFFLOAD_PROFILING)
246 flags = trim(flags)//
" offload_profiling"
249 #if defined(__SPLA) && defined(__OFFLOAD_GEMM)
250 flags = trim(flags)//
" spla_gemm_offloading"
253 #if defined(__CUSOLVERMP)
254 flags = trim(flags)//
" cusolvermp"
258 flags = trim(flags)//
" dlaf"
261 #if defined(__LIBVDWXC)
262 flags = trim(flags)//
" libvdwxc"
266 flags = trim(flags)//
" hdf5"
269 #if defined(__OFFLOAD_UNIFIED_MEMORY)
270 flags = trim(flags)//
" offload_unified_memory"
283 WRITE (unit=iunit, fmt=
"(T2,A)") &
284 "******************************************************************************", &
286 "* CP2K: A general program to perform molecular dynamics simulations *", &
287 "* Copyright (C) 2000-2024 CP2K developer group <https://www.cp2k.org/> *", &
289 "* This program is free software: you can redistribute it and/or modify *", &
290 "* it under the terms of the GNU General Public License as published by *", &
291 "* the Free Software Foundation, either version 2 of the License, or *", &
292 "* (at your option) any later version. *", &
294 "* This program is distributed in the hope that it will be useful, *", &
295 "* but WITHOUT ANY WARRANTY; without even the implied warranty of *", &
296 "* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *", &
297 "* GNU General Public License for more details. *", &
299 "* You should have received a copy of the GNU General Public License *", &
300 "* along with this program. If not, see <https://www.gnu.org/licenses/>. *", &
302 "******************************************************************************"
333 INTEGER,
INTENT(IN) :: iunit
335 CHARACTER(LEN=256) :: cwd, datx
340 WRITE (unit=iunit, fmt=
"(T2,A)")
"# Version information for this restart file "
341 WRITE (unit=iunit, fmt=
"(T2,A)")
"# current date "//trim(datx)
342 WRITE (unit=iunit, fmt=
"(T2,A)")
"# current working dir "//trim(cwd)
344 WRITE (unit=iunit, fmt=
"(T2,A,T31,A50)") &
345 "# Program compiled at", &
347 WRITE (unit=iunit, fmt=
"(T2,A,T31,A50)") &
348 "# Program compiled on", &
350 WRITE (unit=iunit, fmt=
"(T2,A,T31,A50)") &
351 "# Program compiled for", &
353 WRITE (unit=iunit, fmt=
"(T2,A,T31,A50)") &
354 "# Source code revision number", &
355 adjustr(compile_revision)
some minimal info about CP2K, including its version and license
character(len=default_string_length), public r_host_name
character(len= *), parameter, public cp2k_home
character(len= *), parameter, public compile_host
character(len= *), parameter, public compile_arch
subroutine, public print_cp2k_license(iunit)
...
subroutine, public write_restart_header(iunit)
Writes the header for the restart file.
character(len= *), parameter, public compile_revision
character(len= *), parameter, public compile_date
character(len= *), parameter, public cp2k_year
character(len=10 *default_string_length) function, public cp2k_flags()
list all compile time options that influence the capabilities of cp2k. All new flags should be added ...
character(len= *), parameter, public cp2k_version
character(len=default_path_length), public r_cwd
subroutine, public get_runtime_info()
...
character(len=default_string_length), public r_user_name
character(len=26), public r_datx
Defines the basic variable types.
integer, parameter, public default_string_length
integer, parameter, public default_path_length
Machine interface based on Fortran 2003 and POSIX.
subroutine, public m_getpid(pid)
...
subroutine, public m_datum(cal_date)
returns a datum in human readable format using a standard Fortran routine
subroutine, public m_getcwd(curdir)
...
subroutine, public m_getlog(user)
...
subroutine, public m_hostnm(hname)
...
Utilities for string manipulations.
subroutine, public integer_to_string(inumber, string)
Converts an integer number to a string. The WRITE statement will return an error message,...