mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Remove support for AGMG from the build system
AGMG is now under a closed-source license, meaning that results obtained with this solver is not freely reproducible by others. Its use is therefore discouraged. As of version 2.3, the DUNE AMG parts are competitive, so there is a free and open alternative.
This commit is contained in:
parent
56b910e2ce
commit
8ec655e321
@ -1,94 +0,0 @@
|
||||
# - Find Notay's Algebraic Multigrid Solver
|
||||
#
|
||||
# Set the path to the source directory of AGMG in the cache variable
|
||||
# AGMG_ROOT.
|
||||
#
|
||||
# Note the difference between AGMG_DIR and AGMG_ROOT. The former will
|
||||
# cause find_package to switch to config mode and search for a file
|
||||
# named agmg-config.cmake, thereby bypassing this module altogether,
|
||||
# whereas the latter communicates the location of the library to this
|
||||
# module.
|
||||
#
|
||||
# When found, add the contents of AGMG_SOURCES to your own list of
|
||||
# sources to compile and link for the target.
|
||||
#
|
||||
# Use define_fc_func from UseFortranWrappers to write FC_FUNC to your
|
||||
# own config.h, and declare the function dagmg using this macro.
|
||||
|
||||
# USE_MPI is an option that must be declared in the program
|
||||
# if this is enabled, then we use the parallel version of MUMPS
|
||||
# in package "libmumps-dev"; otherwise use serial version in
|
||||
# "libmumps-seq-dev"
|
||||
|
||||
# use the same options when searching for MPI
|
||||
if (AGMG_FIND_REQUIRED)
|
||||
set (_required "REQUIRED")
|
||||
endif ()
|
||||
if (AGMG_FIND_QUIETLY)
|
||||
set (_quiet "QUIET")
|
||||
endif ()
|
||||
|
||||
# use different version of library depending on MPI or not
|
||||
if (USE_MPI)
|
||||
set (_seq "")
|
||||
set (_par "_par")
|
||||
find_package (MPI ${_required} ${_quiet})
|
||||
set (_mpi_found "MPI_FOUND")
|
||||
else ()
|
||||
set (_seq "_seq")
|
||||
set (_par "")
|
||||
set (_mpi_found "")
|
||||
endif ()
|
||||
|
||||
find_file (AGMG_SOURCES
|
||||
dagmg${_par}.f90
|
||||
PATHS ${AGMG_ROOT}
|
||||
PATH_SUFFIXES SRC
|
||||
DOC "Yvan Notay's Algebraic Multigrid Solver, Double Precision version"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
# AGMG is dependent on having the MUMPS library present
|
||||
find_path (MUMPS_INCLUDE_DIR
|
||||
dmumps_struc.h
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
find_library (MUMPS_LIBRARY
|
||||
NAMES dmumps${_seq}
|
||||
DOC "MUltifrontal Massive Parallel sparse direct Solver"
|
||||
)
|
||||
|
||||
# make sure that we can compile Fortran code
|
||||
if (AGMG_SOURCES)
|
||||
enable_language (Fortran)
|
||||
endif (AGMG_SOURCES)
|
||||
|
||||
# set value for config.h
|
||||
if (AGMG_SOURCES)
|
||||
set (HAVE_AGMG 1 CACHE INT "Is AGMG present?")
|
||||
else (AGMG_SOURCES)
|
||||
unset (HAVE_AGMG CACHE)
|
||||
endif (AGMG_SOURCES)
|
||||
|
||||
# handle REQUIRED and QUIET standard options
|
||||
include (FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args (AGMG
|
||||
DEFAULT_MSG
|
||||
AGMG_SOURCES
|
||||
MUMPS_INCLUDE_DIR
|
||||
MUMPS_LIBRARY
|
||||
CMAKE_Fortran_COMPILER_SUPPORTS_F90
|
||||
${_mpi_found}
|
||||
)
|
||||
|
||||
# add our own compatibility routine to link with system MUMPS
|
||||
if (AGMG_SOURCES)
|
||||
list (APPEND AGMG_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Templates/dagmg_mumps.f90")
|
||||
list (APPEND AGMG_INCLUDE_DIRS "${MUMPS_INCLUDE_DIR}")
|
||||
list (APPEND AGMG_LIBRARIES "${MUMPS_LIBRARY}")
|
||||
endif ()
|
||||
|
||||
if (USE_MPI AND MPI_FOUND)
|
||||
list (APPEND AGMG_INCLUDE_DIRS "${MPI_Fortran_INCLUDE_PATH}")
|
||||
list (APPEND AGMG_LIBRARIES "${MPI_Fortran_LIBRARIES}")
|
||||
endif ()
|
@ -3,7 +3,6 @@
|
||||
|
||||
# defines that must be present in config.h for our headers
|
||||
set (opm-core_CONFIG_VAR
|
||||
HAVE_AGMG
|
||||
HAVE_DUNE_ISTL
|
||||
HAVE_DYNAMIC_BOOST_TEST
|
||||
HAVE_ERT
|
||||
@ -28,8 +27,6 @@ set (opm-core_DEPS
|
||||
"SuiteSparse COMPONENTS umfpack"
|
||||
# solver
|
||||
"SuperLU"
|
||||
# Algebraic Multigrid
|
||||
"AGMG"
|
||||
# xml processing (for config parsing)
|
||||
"TinyXML"
|
||||
# Ensembles-based Reservoir Tools (ERT)
|
||||
|
6
cmake/Scripts/configure
vendored
6
cmake/Scripts/configure
vendored
@ -39,10 +39,6 @@ Optional Packages:
|
||||
--with-opm=PATH specify parent of all OPM modules not specified
|
||||
--with-opm-MODULE=PATH use given OPM module from a specified location
|
||||
--with-superlu=PATH user defined path to SuperLU library
|
||||
--with-agmg=PATH Include DOUBLE PRECISION version Notay's of AGMG
|
||||
Algebraic Multigrid solver from specified source
|
||||
location. Note: this option requires a complete,
|
||||
working Fortran 90 environment.
|
||||
--with-umfpack=PATH use UMFPACK/SuiteSparse from a specified location
|
||||
--with-ert=PATH Use ERT libraries
|
||||
--with-tinyxml=PATH use TinyXML library from a specified location
|
||||
@ -187,7 +183,6 @@ for OPT in "$@"; do
|
||||
mpi-prefix)
|
||||
rootvar="_MPI_PREFIX_PATH"
|
||||
;;
|
||||
agmg |\
|
||||
ert |\
|
||||
boost |\
|
||||
superlu |\
|
||||
@ -280,7 +275,6 @@ for OPT in "$@"; do
|
||||
use_ninja=""
|
||||
pkgname=""
|
||||
;;
|
||||
agmg |\
|
||||
ert |\
|
||||
superlu)
|
||||
pkgname="${pkgname^^}"
|
||||
|
@ -1,11 +0,0 @@
|
||||
! AGMG expects an interface to MUMPS named like this
|
||||
subroutine DAGMG_MUMPS (id)
|
||||
|
||||
! In here are the official defines for the parameter passed to
|
||||
! MUMPS. These must match the corresponding ones in dagmg.f90
|
||||
include 'dmumps_struc.h'
|
||||
type (DMUMPS_STRUC) :: id
|
||||
|
||||
! Let the system library do all the heavy lifting
|
||||
call DMUMPS (id)
|
||||
end subroutine DAGMG_MUMPS
|
Loading…
Reference in New Issue
Block a user