diff options
author | Todd Gamblin <tgamblin@llnl.gov> | 2016-02-04 07:37:30 -0700 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2016-02-04 07:37:30 -0700 |
commit | b98c120fb8e64a78566d49261df15e75885975e0 (patch) | |
tree | b37b7fd60e2d288a55912c4d36f327d79aea5215 /var | |
parent | 5d1a639afd81a8d47cc74a707b96a44dd772ad2c (diff) | |
parent | 031c292136d18889e5cd6e8facb68bf2c50ec083 (diff) | |
download | spack-b98c120fb8e64a78566d49261df15e75885975e0.tar.gz spack-b98c120fb8e64a78566d49261df15e75885975e0.tar.bz2 spack-b98c120fb8e64a78566d49261df15e75885975e0.tar.xz spack-b98c120fb8e64a78566d49261df15e75885975e0.zip |
Merge pull request #425 from epfl-scitas/packages/dakota
Added package : dakota
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/dakota/package.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/dakota/package.py b/var/spack/repos/builtin/packages/dakota/package.py new file mode 100644 index 0000000000..5ec82ef83d --- /dev/null +++ b/var/spack/repos/builtin/packages/dakota/package.py @@ -0,0 +1,55 @@ +from spack import * + + +class Dakota(Package): + """ + The Dakota toolkit provides a flexible, extensible interface between analysis codes and iterative systems + analysis methods. Dakota contains algorithms for: + + - optimization with gradient and non gradient-based methods; + - uncertainty quantification with sampling, reliability, stochastic expansion, and epistemic methods; + - parameter estimation with nonlinear least squares methods; + - sensitivity/variance analysis with design of experiments and parameter study methods. + + These capabilities may be used on their own or as components within advanced strategies such as hybrid optimization, + surrogate-based optimization, mixed integer nonlinear programming, or optimization under uncertainty. + """ + + homepage = 'https://dakota.sandia.gov/' + url = 'https://dakota.sandia.gov/sites/default/files/distributions/public/dakota-6.3-public.src.tar.gz' + _url_str = 'https://dakota.sandia.gov/sites/default/files/distributions/public/dakota-{version}-public.src.tar.gz' + + version('6.3', '05a58d209fae604af234c894c3f73f6d') + + variant('debug', default=False, description='Builds a debug version of the libraries') + variant('shared', default=True, description='Enables the build of shared libraries') + variant('mpi', default=True, description='Activates MPI support') + + depends_on('blas') + depends_on('lapack') + depends_on('mpi', when='+mpi') + + depends_on('python') + depends_on('boost') + + def url_for_version(self, version): + return Dakota._url_str.format(version=version) + + def install(self, spec, prefix): + options = [] + options.extend(std_cmake_args) + + options.extend(['-DCMAKE_BUILD_TYPE:STRING=%s' % ('Debug' if '+debug' in spec else 'Release'), + '-DBUILD_SHARED_LIBS:BOOL=%s' % ('ON' if '+shared' in spec else 'OFF')]) + + if '+mpi' in spec: + options.extend(['-DDAKOTA_HAVE_MPI:BOOL=ON', + '-DMPI_CXX_COMPILER:STRING=%s' % join_path(spec['mpi'].prefix.bin, 'mpicxx')]) + + build_directory = join_path(self.stage.path, 'spack-build') + source_directory = self.stage.source_path + + with working_dir(build_directory, create=True): + cmake(source_directory, *options) + make() + make("install") |