/[escript]/trunk/paso/src/SConscript
ViewVC logotype

Annotation of /trunk/paso/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7011 - (hide annotations)
Wed Jul 22 04:13:34 2020 UTC (8 months, 2 weeks ago) by uqaeller
File size: 2939 byte(s)
Prototype for the builtin MUMPS solver.


1 ksteube 1811
2 jfenwick 3982 ##############################################################################
3 ksteube 1705 #
4 uqaeller 7011 # Copyright (c) 2003-2018 by The University of Queensland
5 jfenwick 3982 # http://www.uq.edu.au
6 ksteube 1705 #
7 ksteube 1811 # Primary Business: Queensland, Australia
8 jfenwick 6112 # Licensed under the Apache License, version 2.0
9     # http://www.apache.org/licenses/LICENSE-2.0
10 ksteube 1705 #
11 jfenwick 3982 # Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 jfenwick 4657 # Development 2012-2013 by School of Earth Sciences
13     # Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 jfenwick 3982 #
15     ##############################################################################
16 ksteube 1705
17 jgs 187 Import('*')
18    
19 caltinay 6119 module_name = 'paso'
20 phornby 2057
21 ksteube 1705 sources = """
22 caltinay 4829 BiCGStab.cpp
23     Coupler.cpp
24     FCT_Solver.cpp
25     FluxLimiter.cpp
26     Functions.cpp
27     GMRES.cpp
28     GMRES2.cpp
29     MKL.cpp
30 uqaeller 7011 MUMPS.cpp
31 caltinay 4829 NewtonGMRES.cpp
32 caltinay 4846 Options.cpp
33 caltinay 4829 PCG.cpp
34     PasoUtil.cpp
35     Pattern.cpp
36     Pattern_mis.cpp
37     Pattern_reduceBandwidth.cpp
38     Preconditioner.cpp
39     ReactiveSolver.cpp
40     SchurComplement.cpp
41     Smoother.cpp
42     Solver.cpp
43     Solver_Function.cpp
44     SparseMatrix.cpp
45     SparseMatrix_getSubmatrix.cpp
46     SparseMatrix_nullifyRowsAndCols.cpp
47     SparseMatrix_saveHB.cpp
48     SparseMatrix_MatrixMatrix.cpp
49     SparseMatrix_MatrixMatrixTranspose.cpp
50     SparseMatrix_MatrixVector.cpp
51     SystemMatrix.cpp
52     SystemMatrix_MatrixVector.cpp
53     SystemMatrix_copyRemoteCoupleBlock.cpp
54     SystemMatrix_debug.cpp
55     SystemMatrix_extendedRows.cpp
56     SystemMatrix_loadMM.cpp
57     SystemMatrix_mergeMainAndCouple.cpp
58     SystemMatrixPattern.cpp
59     SystemMatrixPattern_unrollBlocks.cpp
60     Transport.cpp
61     Transport_solve.cpp
62     ILU.cpp
63     MINRES.cpp
64     RILU.cpp
65     TFQMR.cpp
66     UMFPACK.cpp
67     mmio.cpp
68     performance.cpp
69     solve.cpp
70 ksteube 1705 """.split()
71 jfenwick 3259
72 ksteube 1705 headers = """
73 caltinay 4829 BlockOps.h
74     Coupler.h
75 caltinay 4867 FCT_Solver.h
76 caltinay 4829 FluxLimiter.h
77     Functions.h
78     MKL.h
79 uqaeller 7011 MUMPS.h
80 caltinay 4867 mmio.h
81 caltinay 4829 Options.h
82     Paso.h
83 caltinay 5929 PasoException.h
84 caltinay 4829 PasoUtil.h
85     Pattern.h
86 caltinay 4867 performance.h
87 caltinay 4829 Preconditioner.h
88 caltinay 4867 ReactiveSolver.h
89 caltinay 4829 SharedComponents.h
90     Solver.h
91     SparseMatrix.h
92     SystemMatrix.h
93     SystemMatrixPattern.h
94 uqaeller 7011 system_dep.h
95 caltinay 4867 Transport.h
96 caltinay 4829 UMFPACK.h
97 ksteube 1705 """.split()
98 gross 700
99 caltinay 6119 local_env = env.Clone()
100    
101 caltinay 6145 # collect dependencies for other modules
102     pasolibs = env['escript_libs']
103     if env['uselapack']:
104     pasolibs += env['lapack_libs']
105     if env['mkl']:
106     pasolibs += env['mkl_libs']
107     if env['umfpack']:
108     pasolibs += env['umfpack_libs']
109 uqaeller 7011 if env['mumps']:
110     pasolibs += env['mumps_libs']
111 caltinay 6145
112     local_env.PrependUnique(LIBS = pasolibs)
113     env['paso_libs'] = [module_name] + pasolibs
114    
115 jfenwick 3259 if IS_WINDOWS:
116     local_env.Append(CPPDEFINES = ['PASO_EXPORTS'])
117 phornby 2057
118 caltinay 6119 include_path = Dir(module_name, local_env['incinstall'])
119 jfenwick 3259 hdr_inst = local_env.Install(include_path, headers)
120 gross 425
121 caltinay 6119 lib = local_env.SharedLibrary(module_name, sources)
122 jfenwick 3259 lib_inst = local_env.Install(local_env['libinstall'], lib)
123    
124 caltinay 6119 build = env.Alias('build_paso', [hdr_inst, lib])
125     env.Alias('install_paso', [build, lib_inst])
126    

  ViewVC Help
Powered by ViewVC 1.1.26