/[escript]/branches/trilinos_from_5897/trilinoswrap/src/PreconditionerFactory.h
ViewVC logotype

Contents of /branches/trilinos_from_5897/trilinoswrap/src/PreconditionerFactory.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6104 - (show annotations)
Wed Mar 30 06:01:20 2016 UTC (3 years ago) by caltinay
File MIME type: text/plain
File size: 1197 byte(s)
Factored out and templetized preconditioner,solver and direct solver creation.
The SystemMatrix constructor now takes an optional arg 'isComplex'.
Some complex operations are commented out as we need the complex getSampleData*
methods from trunk for them to work.

It looks like we have to modify the Abstract class in escript eventually as
there is a single method that takes a `double` argument (nullifyRowsAndCols).


1
2 /*****************************************************************************
3 *
4 * Copyright (c) 2016 by The University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Open Software License version 3.0
9 * http://www.opensource.org/licenses/osl-3.0.php
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 #ifndef __ESYS_PRECONDITIONERFACTORY_H__
18 #define __ESYS_PRECONDITIONERFACTORY_H__
19
20 #include <trilinoswrap/types.h>
21
22 /// Wrapper for Ifpack2 and MueLu
23
24 namespace escript {
25 class SolverBuddy;
26 }
27
28 namespace esys_trilinos {
29
30 /// creates a preconditioner (Operator) for input matrix A using options in sb.
31 /// ST is the scalar type used by the matrix.
32 template<typename ST>
33 Teuchos::RCP<OpType<ST> > createPreconditioner(Teuchos::RCP<MatrixType<ST> > A,
34 const escript::SolverBuddy& sb);
35
36 } // namespace esys_trilinos
37
38 #endif // __ESYS_PRECONDITIONERFACTORY_H__
39

  ViewVC Help
Powered by ViewVC 1.1.26