summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorDenis Davydov <davydden@gmail.com>2016-03-27 21:03:18 +0200
committerDenis Davydov <davydden@gmail.com>2016-03-27 21:03:18 +0200
commit20600b8cac9488ff416397de374c2d3dacf4afe4 (patch)
treeb5d1c53716d6525488b7a881596b3518a73660a5 /var
parent9c391bbda1c8379dd60cf21d82779db704183f32 (diff)
downloadspack-20600b8cac9488ff416397de374c2d3dacf4afe4.tar.gz
spack-20600b8cac9488ff416397de374c2d3dacf4afe4.tar.bz2
spack-20600b8cac9488ff416397de374c2d3dacf4afe4.tar.xz
spack-20600b8cac9488ff416397de374c2d3dacf4afe4.zip
add tests and netcdf-cxx4
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/dealii/package.py38
1 files changed, 36 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/dealii/package.py b/var/spack/repos/builtin/packages/dealii/package.py
index 19bb3814be..1d4c800288 100644
--- a/var/spack/repos/builtin/packages/dealii/package.py
+++ b/var/spack/repos/builtin/packages/dealii/package.py
@@ -1,4 +1,5 @@
from spack import *
+import shutil
class Dealii(Package):
"""C++ software library providing well-documented tools to build finite element codes for a broad variety of PDEs."""
@@ -18,7 +19,7 @@ class Dealii(Package):
depends_on ("hdf5+mpi~cxx") #FIXME NetCDF declares dependency with ~cxx, why?
depends_on ("metis")
depends_on ("muparser")
- depends_on ("netcdf")
+ depends_on ("netcdf-cxx4")
#depends_on ("numdiff") #FIXME
depends_on ("oce")
depends_on ("p4est")
@@ -50,7 +51,7 @@ class Dealii(Package):
'-DHDF5_DIR=%s' % spec['hdf5'].prefix,
'-DMETIS_DIR=%s' % spec['metis'].prefix,
'-DMUPARSER_DIR=%s ' % spec['muparser'].prefix,
- '-DNETCDF_DIR=%s' % spec['netcdf'].prefix,
+ '-DNETCDF_DIR=%s' % spec['netcdf-cxx4'].prefix,
'-DOPENCASCADE_DIR=%s' % spec['oce'].prefix,
'-DP4EST_DIR=%s' % spec['p4est'].prefix,
'-DPETSC_DIR=%s' % spec['petsc'].prefix,
@@ -65,3 +66,36 @@ class Dealii(Package):
make()
make("test")
make("install")
+
+ # run some MPI examples with different solvers from PETSc and Trilinos
+ env['DEAL_II_DIR'] = prefix
+ # take bare-bones step-3
+ with working_dir('examples/step-3'):
+ cmake('.')
+ make('release')
+ make('run',parallel=False)
+
+ # take step-40 which can use both PETSc and Trilinos
+ # FIXME: switch step-40 to MPI run
+ with working_dir('examples/step-40'):
+ # 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')
+ cmake('.')
+ make('release')
+ make('run',parallel=False)
+
+ # change Linear Algebra to Trilinos
+ filter_file(r'(#define USE_PETSC_LA.*)', (''), 'step-40.cc')
+ make('release')
+ make('run',parallel=False)
+
+ with working_dir('examples/step-36'):
+ cmake('.')
+ make('release')
+ make('run',parallel=False)
+
+ with working_dir('examples/step-54'):
+ cmake('.')
+ make('release')
+ # FIXME
+ # make('run',parallel=False)