Commit Graph

132 Commits

Author SHA1 Message Date
Martin Diehl 2147ac3a12 base framework for unit testing in Fortran 2023-02-24 22:27:56 +01:00
Martin Diehl 42329a4ca4 ensure recent compiler 2022-12-17 14:52:41 +01:00
Martin Diehl 0ca4d42678 PETSc 3.18.0 compatibility
CHKERR macros are now longer, should be replaced with PetscCall in the
future
2022-10-02 12:48:54 +02:00
Martin Diehl 3b57934d6e Marc precision handling 2022-06-27 08:37:41 +00:00
Martin Diehl 58fab14c6c PETSc 3.17.1 adjustments 2022-05-06 12:34:32 +02:00
Martin Diehl c806885cb5 include libfyaml headers from non-standard locations
the CMake manual promises more than it holds.
Also adding some diagnostics+fixes for zlib, we still assume that it
exists (true on most systems, HDF5 also requires it normally)
see also https://stackoverflow.com/questions/21593
2022-04-13 07:58:31 +02:00
Martin Diehl 723252ef15 libfyaml backend
currently it simply converts the whole file content to flow mode.
The nice thing is: It can convert EVERYTHING to flow mode. libfyaml is
the only library that passes the whole YAML test suite
2022-04-12 23:24:07 +02:00
Martin Diehl affa7baa22 search for libfyaml
no consequences so far
2022-04-12 21:02:09 +02:00
Martin Diehl 16f5a27e08 detecting HDF5 and FFTW
some PETSc installations are not aware of them, so it might make sense
to become independent of PETSc. But PETSc-defined variables should take
precedence
2022-04-09 21:10:15 +02:00
Martin Diehl 8d44c55141 support for PETSc 3.17.0
DCHKERRQ has been replaced by PetscCall
2022-04-03 17:56:17 +02:00
Martin Diehl f36db86b3c better debug for gfortran, removing options not needed 2022-02-05 18:24:24 +01:00
Martin Diehl 771e8acdb9 revert change
need to find PETSc 'twice' to ensure version range ...
2022-01-12 07:46:25 +01:00
Martin Diehl eea8aa94af not used 2022-01-10 18:50:28 +01:00
Martin Diehl 3ae0452440 more robust build
${PETSC_DIR} and ${PETSC_ARCH} are not always substituted in
${PETSC_DIR}/${PETSC_ARCH}/lib/petsc/conf/petscvariables
Therefore, get location from pkgconfig (<XXX>_LIBRARY_DIRS) and use
PETSC_EXTERNAL_LIB_BASIC instead of PETSC_WITH_EXTERNAL_LIB to get the
linker commands for the external libraries.

Also simplified regex/cleaning
2022-01-10 12:01:48 +01:00
Martin Diehl a9293db171 new LLVM-based Intel compilers work
quick test shows significant performance improvement
2021-12-25 18:36:35 +01:00
Martin Diehl d086162350 consistent style
there is no space before opening brackets in the CMake doc
2021-10-15 22:16:47 +02:00
Martin Diehl dd7549a381 seems to work without further changes 2021-10-06 07:50:42 +02:00
Martin Diehl caf9a29b73 useful information, especially in logs from bug reports 2021-08-19 07:10:00 +02:00
Martin Diehl 49ccbf3eb8 still not perfect:
https://stackoverflow.com/questions/32411963
2021-08-18 22:20:30 +02:00
Martin Diehl 8e75e87ad9 Merge branch 'MPI_F08' into polishing-for-beta 2021-07-09 11:32:32 +02:00
Martin Diehl 4c3ff4bef4 consistent capitalization 2021-07-08 15:05:01 +02:00
Martin Diehl 249365979f for spack, following DealII
https://spack.readthedocs.io/en/latest/build_systems/cmakepackage.html
'RelWithDebInfo' is not easy to remember
2021-07-06 06:49:25 +02:00
Martin Diehl f0a75d8d62 consistent capitalization
Capitals for pre processor macros to avoid clashes
2021-07-04 17:43:19 +02:00
Martin Diehl 67352d9ec7 location depends on PETSC_ARCH (if set) 2021-05-19 19:22:06 +02:00
Martin Diehl f6684a0692 easier to read 2021-05-19 18:53:25 +02:00
Martin Diehl 3cf2ea1749 simplified 2021-05-19 17:31:59 +02:00
Martin Diehl d4f439ae8b read directly from file
detour via dummy makefile not needed
2021-05-19 17:19:11 +02:00
Martin Diehl 15c498f1ed polishing 2021-05-19 17:02:11 +02:00
Martin Diehl 3a5ecc8be5 simplified and in correct order 2021-05-19 14:26:17 +02:00
Martin Diehl 49d51e196c no hope for GPI
flang will hopefully work in the near future
2021-05-19 13:42:14 +02:00
Martin Diehl 80b6aaec77 inclusion of rules not needed 2021-05-19 13:31:18 +02:00
Martin Diehl 7250fbb7c6 DAMASK is compatible with PETSc 3.15
still need to update the test server (and DAMASK_interface.f90)
2021-04-25 08:06:12 +02:00
Martin Diehl e8b3e0f3ee fail as early as possible 2021-01-04 10:01:24 +01:00
Martin Diehl 35f9861818 Fortran standard is 2018
will not work for older compilers
2020-12-18 15:19:04 +01:00
Martin Diehl 9ce406ed11 wrapper for zlib library
assume that zlib is available for linking. This is usually the case
(zlib is a stable standard library), but there is currently no check
that gives a nice error message or the possibility to use zlib from a
non-standard location
2020-09-06 17:49:00 +02:00
Martin Diehl 59c5fbc5fe position independent code required for Fedora 32 2020-04-30 08:05:42 +02:00
Martin Diehl d99c05860e FEM is now Mesh 2020-04-28 10:35:43 +02:00
Martin Diehl 540428aab7 works also for ifort 2020-03-29 19:06:17 +02:00
Martin Diehl 9690f170e1 4 space indentation 2020-01-29 22:44:42 +01:00
Martin Diehl 7e9ce183a4 better readable 2020-01-26 15:10:27 +01:00
Martin Diehl bd5f963260 polishing 2020-01-04 16:54:07 +01:00
Martin Diehl cba7114dff there is also an FEM solver that operates on regular grids 2020-01-02 21:42:28 +01:00
Martin Diehl b119d2fefa Fortran submodule support in older cmake is broken
better use even 3.14 and above
https://www.scivision.dev/fortran-2008-submodule-cmake
2019-10-18 20:51:45 +02:00
Martin Diehl 2ea07950ff case insensitive comparison for project name
accept also mesh for FEM
2019-04-28 12:54:59 +02:00
Martin Diehl a5ff0edf1f Merge branch 'development' into MiscImprovements 2019-04-28 06:59:27 +02:00
Martin Diehl 7b04b76112 check for undefined variables
defined but empty variables are different
2019-04-27 17:55:06 +02:00
Martin Diehl 7041c1508a giving extension does not work 2019-04-27 10:19:11 +02:00
Martin Diehl a2887e3918 small portions are better readable 2019-04-27 07:56:52 +02:00
Martin Diehl b4a21e8d40 fix for older cmake
looks ok
2019-04-26 18:07:43 +02:00
Martin Diehl b63a6c7034 cleaner code that also works with older cmake 2019-04-26 17:39:21 +02:00