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 
10 namespace 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.80.0 (May 16, 22:29, 2024)