DOLFIN
DOLFIN C++ interface
adaptivesolve.h
1 // Copyright (C) 2011 Marie E. Rognes
2 //
3 // This file is part of DOLFIN.
4 //
5 // DOLFIN is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // DOLFIN is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
17 //
18 // First added: 2011-06-30
19 // Last changed: 2011-06-30
20 
21 #ifndef __ADAPTIVE_SOLVE_H
22 #define __ADAPTIVE_SOLVE_H
23 
24 #include <vector>
25 
26 namespace dolfin
27 {
28 
29  // Forward declarations
30  class DirichletBC;
31  class Equation;
32  class Form;
33  class Function;
34  class GoalFunctional;
35 
36  //--- Adaptive solve of linear problems ---
37 
40  void solve(const Equation& equation,
41  Function& u,
42  const double tol,
43  GoalFunctional& M);
44 
47  void solve(const Equation& equation,
48  Function& u,
49  const DirichletBC& bc,
50  const double tol,
51  GoalFunctional& M);
52 
55  void solve(const Equation& equation,
56  Function& u,
57  std::vector<const DirichletBC*> bcs,
58  const double tol,
59  GoalFunctional& M);
60 
61  //--- Adaptive solve of nonlinear problems ---
62 
65  void solve(const Equation& equation,
66  Function& u,
67  const Form& J,
68  const double tol,
69  GoalFunctional& M);
70 
73  void solve(const Equation& equation,
74  Function& u,
75  const DirichletBC& bc,
76  const Form& J,
77  const double tol,
78  GoalFunctional& M);
79 
82  void solve(const Equation& equation,
83  Function& u,
84  std::vector<const DirichletBC*> bcs,
85  const Form& J,
86  const double tol,
87  GoalFunctional& M);
88 
89 }
90 
91 #endif
Definition: adapt.h:29
void solve(const Equation &equation, Function &u, const double tol, GoalFunctional &M)
Definition: adaptivesolve.cpp:33