Rheolef  7.2
an efficient C++ finite element environment
 
Loading...
Searching...
No Matches
solver_abtb.h
Go to the documentation of this file.
1#ifndef _SKIT_SOLVER_ABTB_H
2#define _SKIT_SOLVER_ABTB_H
3//
4// This file is part of Rheolef.
5//
6// Copyright (C) 2000-2009 Pierre Saramito <Pierre.Saramito@imag.fr>
7//
8// Rheolef is free software; you can redistribute it and/or modify
9// it under the terms of the GNU General Public License as published by
10// the Free Software Foundation; either version 2 of the License, or
11// (at your option) any later version.
12//
13// Rheolef is distributed in the hope that it will be useful,
14// but WITHOUT ANY WARRANTY; without even the implied warranty of
15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16// GNU General Public License for more details.
17//
18// You should have received a copy of the GNU General Public License
19// along with Rheolef; if not, write to the Free Software
20// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21//
22// =========================================================================
23// AUTHOR: Pierre.Saramito@imag.fr
24// DATE: 19 january 2012
25
26namespace rheolef {
106} // namespace rheolef
107
108#include "rheolef/solver.h"
109#include "rheolef/mixed_solver.h"
110#include "rheolef/csr.h"
111
112namespace rheolef {
113//<solver_abtb:
114template <class T, class M = rheo_default_memory_model>
116public:
117
118// typedefs:
119
121
122// allocators:
123
125 solver_abtb_basic (const csr<T,M>& a, const csr<T,M>& b, const csr<T,M>& mp,
126 const solver_option& opt = solver_option());
127 solver_abtb_basic (const csr<T,M>& a, const csr<T,M>& b, const csr<T,M>& c, const csr<T,M>& mp,
128 const solver_option& opt = solver_option());
129
130// accessors:
131
132 void solve (const vec<T,M>& f, const vec<T,M>& g, vec<T,M>& u, vec<T,M>& p) const;
133 bool initialized() const;
134 const solver_option& option() const { return _opt; }
135 void set_inner_solver (const solver_basic<T,M>& sa) { _sa = sa; }
136 void set_preconditioner (const solver_basic<T,M>& smp) { _smp = smp; }
137 std::string name() const { return _sA.name(); }
138 std::string inner_name() const { return _sa.name(); }
139 std::string preconditionner_name() const { return _sa.name(); }
140//>solver_abtb:
141
142protected:
143// internal
144 void init();
145// data:
155};
156//<solver_abtb:
158//>solver_abtb:
159
160} // namespace rheolef
161#endif // _SKIT_SOLVER_ABTB_H
see the csr page for the full documentation
Definition csr.h:317
std::string name() const
void solve(const vec< T, M > &f, const vec< T, M > &g, vec< T, M > &u, vec< T, M > &p) const
solver_basic< T, M > _sA
solver_basic< T, M > _sa
const solver_option & option() const
std::string preconditionner_name() const
csr< T, M >::size_type size_type
void set_inner_solver(const solver_basic< T, M > &sa)
std::string inner_name() const
void set_preconditioner(const solver_basic< T, M > &smp)
solver_basic< T, M > _smp
std::string name() const
Definition solver.h:366
see the solver_option page for the full documentation
see the vec page for the full documentation
Definition vec.h:79
solver_abtb_basic< Float, rheo_default_memory_model > solver_abtb
This file is part of Rheolef.
Definition cavity_dg.h:29
Definition cavity_dg.h:25
Definition sphere.icc:25
Definition leveque.h:25