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

Contents of /trunk/paso/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


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


1
2 ##############################################################################
3 #
4 # Copyright (c) 2003-2018 by The University of Queensland
5 # http://www.uq.edu.au
6 #
7 # Primary Business: Queensland, Australia
8 # Licensed under the Apache License, version 2.0
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 # Development 2012-2013 by School of Earth Sciences
13 # Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 #
15 ##############################################################################
16
17 Import('*')
18
19 module_name = 'paso'
20
21 sources = """
22 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 MUMPS.cpp
31 NewtonGMRES.cpp
32 Options.cpp
33 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 """.split()
71
72 headers = """
73 BlockOps.h
74 Coupler.h
75 FCT_Solver.h
76 FluxLimiter.h
77 Functions.h
78 MKL.h
79 MUMPS.h
80 mmio.h
81 Options.h
82 Paso.h
83 PasoException.h
84 PasoUtil.h
85 Pattern.h
86 performance.h
87 Preconditioner.h
88 ReactiveSolver.h
89 SharedComponents.h
90 Solver.h
91 SparseMatrix.h
92 SystemMatrix.h
93 SystemMatrixPattern.h
94 system_dep.h
95 Transport.h
96 UMFPACK.h
97 """.split()
98
99 local_env = env.Clone()
100
101 # 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 if env['mumps']:
110 pasolibs += env['mumps_libs']
111
112 local_env.PrependUnique(LIBS = pasolibs)
113 env['paso_libs'] = [module_name] + pasolibs
114
115 if IS_WINDOWS:
116 local_env.Append(CPPDEFINES = ['PASO_EXPORTS'])
117
118 include_path = Dir(module_name, local_env['incinstall'])
119 hdr_inst = local_env.Install(include_path, headers)
120
121 lib = local_env.SharedLibrary(module_name, sources)
122 lib_inst = local_env.Install(local_env['libinstall'], lib)
123
124 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