Albany: Add Albany package. (#8332)
* Add package.py to support the Albany GitHub project builds.
This commit is contained in:
parent
ef002a25fa
commit
d98d45ec50
121
var/spack/repos/builtin/packages/albany/package.py
Normal file
121
var/spack/repos/builtin/packages/albany/package.py
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
##############################################################################
|
||||||
|
# Copyright (c) 2013-2018, Lawrence Livermore National Security, LLC.
|
||||||
|
# Produced at the Lawrence Livermore National Laboratory.
|
||||||
|
#
|
||||||
|
# This file is part of Spack.
|
||||||
|
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||||
|
# LLNL-CODE-647188
|
||||||
|
#
|
||||||
|
# For details, see https://github.com/spack/spack
|
||||||
|
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Lesser General Public License (as
|
||||||
|
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||||
|
# conditions of the GNU Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public
|
||||||
|
# License along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
##############################################################################
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
|
class Albany(CMakePackage):
|
||||||
|
"""Albany is an implicit, unstructured grid, finite element code for the
|
||||||
|
solution and analysis of multiphysics problems. The Albany repository
|
||||||
|
on the GitHub site contains hundreds of regression tests and examples
|
||||||
|
that demonstrate the code's capabilities on a wide variety of problems
|
||||||
|
including fluid mechanics, solid mechanics (elasticity and plasticity),
|
||||||
|
ice-sheet flow, quantum device modeling, and many other applications."""
|
||||||
|
|
||||||
|
homepage = "http://gahansen.github.io/Albany"
|
||||||
|
url = "https://github.com/gahansen/Albany/tarball/master"
|
||||||
|
|
||||||
|
maintainers = ['gahansen']
|
||||||
|
|
||||||
|
version('develop', git='https://github.com/gahansen/Albany.git', branch='master')
|
||||||
|
|
||||||
|
variant('lcm', default=True,
|
||||||
|
description='Enable LCM')
|
||||||
|
variant('aeras', default=False,
|
||||||
|
description='Enable AERAS')
|
||||||
|
variant('qcad', default=False,
|
||||||
|
description='Enable QCAD')
|
||||||
|
variant('hydride', default=False,
|
||||||
|
description='Enable HYDRIDE')
|
||||||
|
variant('lcm_spec', default=False,
|
||||||
|
description='Enable LCM_SPECULATIVE')
|
||||||
|
variant('lame', default=False,
|
||||||
|
description='Enable LAME')
|
||||||
|
variant('debug', default=False,
|
||||||
|
description='Enable DEBUGGING')
|
||||||
|
variant('fpe', default=False,
|
||||||
|
description='Enable CHECK_FPE')
|
||||||
|
variant('scorec', default=False,
|
||||||
|
description='Enable SCOREC')
|
||||||
|
variant('felix', default=False,
|
||||||
|
description='Enable FELIX')
|
||||||
|
variant('mor', default=False,
|
||||||
|
description='Enable MOR')
|
||||||
|
variant('confgui', default=False,
|
||||||
|
description='Enable Albany configuration (CI) GUI')
|
||||||
|
variant('ascr', default=False,
|
||||||
|
description='Enable ALBANY_ASCR')
|
||||||
|
variant('perf', default=False,
|
||||||
|
description='Enable PERFORMANCE_TESTS')
|
||||||
|
variant('64bit', default=True,
|
||||||
|
description='Enable 64BIT')
|
||||||
|
|
||||||
|
# Add dependencies
|
||||||
|
depends_on('mpi')
|
||||||
|
depends_on('trilinos~superlu-dist+isorropia+tempus+rythmos+teko+intrepid+intrepid2+minitensor+phalanx+pnetcdf+nox+piro+rol+shards+stk+superlu@master,develop')
|
||||||
|
|
||||||
|
def cmake_args(self):
|
||||||
|
spec = self.spec
|
||||||
|
trilinos_dir = spec['trilinos'].prefix
|
||||||
|
options = []
|
||||||
|
|
||||||
|
options.extend([
|
||||||
|
'-DALBANY_TRILINOS_DIR:FILEPATH={0}'.format(trilinos_dir),
|
||||||
|
'-DINSTALL_ALBANY:BOOL=ON'
|
||||||
|
])
|
||||||
|
|
||||||
|
options.extend([
|
||||||
|
'-DENABLE_LCM:BOOL=%s' % (
|
||||||
|
'ON' if '+lcm' in spec else 'OFF'),
|
||||||
|
'-DENABLE_AERAS:BOOL=%s' % (
|
||||||
|
'ON' if '+aeras' in spec else 'OFF'),
|
||||||
|
'-DENABLE_QCAD:BOOL=%s' % (
|
||||||
|
'ON' if '+qcad' in spec else 'OFF'),
|
||||||
|
'-DENABLE_HYDRIDE:BOOL=%s' % (
|
||||||
|
'ON' if '+hydride' in spec else 'OFF'),
|
||||||
|
'-DENABLE_LCM_SPECULATIVE:BOOL=%s' % (
|
||||||
|
'ON' if '+lcm_spec' in spec else 'OFF'),
|
||||||
|
'-DENABLE_LAME:BOOL=%s' % (
|
||||||
|
'ON' if '+lame' in spec else 'OFF'),
|
||||||
|
'-DENABLE_DEBUGGING:BOOL=%s' % (
|
||||||
|
'ON' if '+debug' in spec else 'OFF'),
|
||||||
|
'-DENABLE_CHECK_FPE:BOOL=%s' % (
|
||||||
|
'ON' if '+fpe' in spec else 'OFF'),
|
||||||
|
'-DENABLE_SCOREC:BOOL=%s' % (
|
||||||
|
'ON' if '+scorec' in spec else 'OFF'),
|
||||||
|
'-DENABLE_FELIX:BOOL=%s' % (
|
||||||
|
'ON' if '+felix' in spec else 'OFF'),
|
||||||
|
'-DENABLE_MOR:BOOL=%s' % (
|
||||||
|
'ON' if '+mor' in spec else 'OFF'),
|
||||||
|
'-DENABLE_ALBANY_CI:BOOL=%s' % (
|
||||||
|
'ON' if '+ci' in spec else 'OFF'),
|
||||||
|
'-DENABLE_ASCR:BOOL=%s' % (
|
||||||
|
'ON' if '+ascr' in spec else 'OFF'),
|
||||||
|
'-DENABLE_PERFORMANCE_TESTS:BOOL=%s' % (
|
||||||
|
'ON' if '+perf' in spec else 'OFF'),
|
||||||
|
'-DENABLE_64BIT_INT:BOOL=%s' % (
|
||||||
|
'ON' if '+64bit' in spec else 'OFF')
|
||||||
|
])
|
||||||
|
|
||||||
|
return options
|
Loading…
Reference in New Issue
Block a user