DUNE-ACFEM (2.5.1)

femschemeinterface.hh
Go to the documentation of this file.
1
5#ifndef __FEMSCHEME_INTERFACE_HH__
6#define __FEMSCHEME_INTERFACE_HH__
7
8/*********************************************************/
9
10namespace Dune {
11
12 namespace ACFem {
13
24 {
25 public:
27 virtual void initialize() = 0;
28
40 virtual void solve(bool forceMatrixAssembling = true) = 0;
41
44 virtual int output() = 0;
45
47 virtual double residual() const = 0;
48
50 virtual double error() const = 0;
51
53 virtual size_t size() const = 0;
54 };
55
59 : public BasicFemScheme
60 {
61 public:
63 virtual bool mark(const double tolerance) = 0;
64
66 virtual double estimate() = 0;
67
69 virtual void adapt() = 0;
70 };
71
72 class TransientAdaptiveFemScheme
73 : public AdaptiveFemScheme
74 {
75 public:
77 virtual void restart(const std::string& name = "") = 0;
78
80 virtual void next() = 0;
81
83 virtual double timeEstimate() = 0;
84
87 virtual double initialEstimate() = 0;
88
90 virtual bool initialMarking(const double tolerance) = 0;
91
92 };
93
95
96 } // ACFem::
97
98} // Dune::
99
100#endif // __FEMSCHEME_INTERFACE_HH__
101
Abstract space adaptative FEM scheme.
Definition: femschemeinterface.hh:60
virtual bool mark(const double tolerance)=0
mark elements for adaptation
virtual void adapt()=0
do the adaptation for a given marking
virtual double estimate()=0
calculate error estimator
Abstract non-adaptive basic FEM scheme.
Definition: femschemeinterface.hh:24
virtual size_t size() const =0
return some measure about the number of DOFs in use
virtual double error() const =0
calculate L2/H1 error
virtual int output()=0
data I/O, return -1 if no data has been written otherwise the sequence number of the file
virtual void solve(bool forceMatrixAssembling=true)=0
Solve the system.
virtual void initialize()=0
initialize the solution
virtual double residual() const =0
calculate residual (in small l^2)
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Aug 13, 22:30, 2024)