add dev version and conditionals for tests; remove parmetis
This commit is contained in:
parent
bafc6cebe1
commit
2abdd71b41
@ -7,12 +7,13 @@ class Dealii(Package):
|
|||||||
url = "https://github.com/dealii/dealii/releases/download/v8.4.0/dealii-8.4.0.tar.gz"
|
url = "https://github.com/dealii/dealii/releases/download/v8.4.0/dealii-8.4.0.tar.gz"
|
||||||
|
|
||||||
version('8.4.0', 'ac5dbf676096ff61e092ce98c80c2b00')
|
version('8.4.0', 'ac5dbf676096ff61e092ce98c80c2b00')
|
||||||
|
version('dev', git='https://github.com/dealii/dealii.git')
|
||||||
|
|
||||||
variant('mpi', default=True, description='Compile with MPI')
|
variant('mpi', default=True, description='Compile with MPI')
|
||||||
variant('arpack', default=True, description='Compile with Arpack and PArpack (only with MPI)')
|
variant('arpack', default=True, description='Compile with Arpack and PArpack (only with MPI)')
|
||||||
variant('doxygen', default=False, description='Compile with Doxygen documentation')
|
variant('doxygen', default=False, description='Compile with Doxygen documentation')
|
||||||
variant('hdf5', default=True, description='Compile with HDF5 (only with MPI)')
|
variant('hdf5', default=True, description='Compile with HDF5 (only with MPI)')
|
||||||
variant('metis', default=True, description='Compile with Metis or ParMetis')
|
variant('metis', default=True, description='Compile with Metis')
|
||||||
variant('netcdf', default=True, description='Compile with Netcdf (only with MPI)')
|
variant('netcdf', default=True, description='Compile with Netcdf (only with MPI)')
|
||||||
variant('oce', default=True, description='Compile with OCE')
|
variant('oce', default=True, description='Compile with OCE')
|
||||||
variant('p4est', default=True, description='Compile with P4est (only with MPI)')
|
variant('p4est', default=True, description='Compile with P4est (only with MPI)')
|
||||||
@ -42,7 +43,6 @@ class Dealii(Package):
|
|||||||
depends_on ("netcdf-cxx", when='+netcdf+mpi')
|
depends_on ("netcdf-cxx", when='+netcdf+mpi')
|
||||||
depends_on ("oce", when='+oce')
|
depends_on ("oce", when='+oce')
|
||||||
depends_on ("p4est", when='+p4est+mpi')
|
depends_on ("p4est", when='+p4est+mpi')
|
||||||
depends_on ("parmetis", when='+metis+mpi')
|
|
||||||
depends_on ("petsc+mpi", when='+petsc+mpi')
|
depends_on ("petsc+mpi", when='+petsc+mpi')
|
||||||
depends_on ("slepc", when='+slepc+petsc+mpi')
|
depends_on ("slepc", when='+slepc+petsc+mpi')
|
||||||
depends_on ("trilinos", when='+trilinos+mpi')
|
depends_on ("trilinos", when='+trilinos+mpi')
|
||||||
@ -98,7 +98,7 @@ def install(self, spec, prefix):
|
|||||||
])
|
])
|
||||||
|
|
||||||
# Optional dependencies for which librariy names are the same as CMake variables
|
# Optional dependencies for which librariy names are the same as CMake variables
|
||||||
for library in ('hdf5', 'p4est','petsc', 'slepc','trilinos','metis','parmetis'):
|
for library in ('hdf5', 'p4est','petsc', 'slepc','trilinos','metis'):
|
||||||
if library in spec:
|
if library in spec:
|
||||||
options.extend([
|
options.extend([
|
||||||
'-D{library}_DIR={value}'.format(library=library.upper(), value=spec[library].prefix),
|
'-D{library}_DIR={value}'.format(library=library.upper(), value=spec[library].prefix),
|
||||||
@ -127,25 +127,6 @@ def install(self, spec, prefix):
|
|||||||
'-DDEAL_II_WITH_ARPACK=OFF'
|
'-DDEAL_II_WITH_ARPACK=OFF'
|
||||||
])
|
])
|
||||||
|
|
||||||
# # metis
|
|
||||||
# if '+metis' in spec:
|
|
||||||
#
|
|
||||||
# if 'mpi' in spec:
|
|
||||||
# options.extend([
|
|
||||||
# '-DMETIS_DIR=%s' % spec['parmetis'].prefix,
|
|
||||||
# ])
|
|
||||||
# else:
|
|
||||||
# options.extend([
|
|
||||||
# '-DMETIS_DIR=%s' % spec['metis'].prefix,
|
|
||||||
# ])
|
|
||||||
# options.extend([
|
|
||||||
# '-DDEAL_II_WITH_METIS=ON'
|
|
||||||
# ])
|
|
||||||
# else:
|
|
||||||
# options.extend([
|
|
||||||
# '-DDEAL_II_WITH_METIS=OFF'
|
|
||||||
# ])
|
|
||||||
|
|
||||||
# since Netcdf is spread among two, need to do it by hand:
|
# since Netcdf is spread among two, need to do it by hand:
|
||||||
if '+netcdf' in spec:
|
if '+netcdf' in spec:
|
||||||
options.extend([
|
options.extend([
|
||||||
@ -202,16 +183,18 @@ def install(self, spec, prefix):
|
|||||||
# list the number of cycles to speed up
|
# list the number of cycles to speed up
|
||||||
filter_file(r'(const unsigned int n_cycles = 8;)', ('const unsigned int n_cycles = 2;'), 'step-40.cc')
|
filter_file(r'(const unsigned int n_cycles = 8;)', ('const unsigned int n_cycles = 2;'), 'step-40.cc')
|
||||||
cmake('.')
|
cmake('.')
|
||||||
make('release')
|
if '^petsc' in spec:
|
||||||
make('run',parallel=False)
|
make('release')
|
||||||
|
make('run',parallel=False)
|
||||||
|
|
||||||
print('=====================================')
|
print('=====================================')
|
||||||
print('========= Step-40 Trilinos ==========')
|
print('========= Step-40 Trilinos ==========')
|
||||||
print('=====================================')
|
print('=====================================')
|
||||||
# change Linear Algebra to Trilinos
|
# change Linear Algebra to Trilinos
|
||||||
filter_file(r'(\/\/ #define FORCE_USE_OF_TRILINOS.*)', ('#define FORCE_USE_OF_TRILINOS'), 'step-40.cc')
|
filter_file(r'(\/\/ #define FORCE_USE_OF_TRILINOS.*)', ('#define FORCE_USE_OF_TRILINOS'), 'step-40.cc')
|
||||||
make('release')
|
if '^trilinos+hypre' in spec:
|
||||||
make('run',parallel=False)
|
make('release')
|
||||||
|
make('run',parallel=False)
|
||||||
|
|
||||||
print('=====================================')
|
print('=====================================')
|
||||||
print('=== Step-40 Trilinos SuperluDist ====')
|
print('=== Step-40 Trilinos SuperluDist ====')
|
||||||
@ -223,31 +206,34 @@ def install(self, spec, prefix):
|
|||||||
filter_file(r'(preconditioner.initialize\(system_matrix, data\);)', (''), 'step-40.cc')
|
filter_file(r'(preconditioner.initialize\(system_matrix, data\);)', (''), 'step-40.cc')
|
||||||
filter_file(r'(solver\.solve \(system_matrix, completely_distributed_solution, system_rhs,)', ('solver.solve (system_matrix, completely_distributed_solution, system_rhs);'), 'step-40.cc')
|
filter_file(r'(solver\.solve \(system_matrix, completely_distributed_solution, system_rhs,)', ('solver.solve (system_matrix, completely_distributed_solution, system_rhs);'), 'step-40.cc')
|
||||||
filter_file(r'(preconditioner\);)', (''), 'step-40.cc')
|
filter_file(r'(preconditioner\);)', (''), 'step-40.cc')
|
||||||
|
if '^trilinos+superlu-dist' in spec:
|
||||||
make('release')
|
make('release')
|
||||||
make('run',paralle=False)
|
make('run',paralle=False)
|
||||||
|
|
||||||
print('=====================================')
|
print('=====================================')
|
||||||
print('====== Step-40 Trilinos MUMPS =======')
|
print('====== Step-40 Trilinos MUMPS =======')
|
||||||
print('=====================================')
|
print('=====================================')
|
||||||
# switch to Mumps
|
# switch to Mumps
|
||||||
filter_file(r'(Amesos_Superludist)', ('Amesos_Mumps'), 'step-40.cc')
|
filter_file(r'(Amesos_Superludist)', ('Amesos_Mumps'), 'step-40.cc')
|
||||||
make('release')
|
if '^trilinos+mumps' in spec:
|
||||||
make('run',parallel=False)
|
make('release')
|
||||||
|
make('run',parallel=False)
|
||||||
|
|
||||||
print('=====================================')
|
print('=====================================')
|
||||||
print('============ Step-36 ================')
|
print('============ Step-36 ================')
|
||||||
print('=====================================')
|
print('=====================================')
|
||||||
with working_dir('examples/step-36'):
|
with working_dir('examples/step-36'):
|
||||||
cmake('.')
|
if 'slepc' in spec:
|
||||||
make('release')
|
cmake('.')
|
||||||
make('run',parallel=False)
|
make('release')
|
||||||
|
make('run',parallel=False)
|
||||||
|
|
||||||
print('=====================================')
|
print('=====================================')
|
||||||
print('============ Step-54 ================')
|
print('============ Step-54 ================')
|
||||||
print('=====================================')
|
print('=====================================')
|
||||||
with working_dir('examples/step-54'):
|
with working_dir('examples/step-54'):
|
||||||
cmake('.')
|
if 'oce' in spec:
|
||||||
make('release')
|
cmake('.')
|
||||||
# FIXME
|
make('release')
|
||||||
# make('run',parallel=False)
|
if sys.platform != 'darwin': #FIXME
|
||||||
|
make('run',parallel=False)
|
||||||
|
Loading…
Reference in New Issue
Block a user