Reference documentation for deal.II version GIT a3f17f8a20 2023-06-02 10:50:02+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
incremental_function.h
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2018 - 2022 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii_incremental_function_h
17 #define dealii_incremental_function_h
18 
19 
20 #include <deal.II/base/config.h>
21 
22 #include <deal.II/base/function.h>
23 #include <deal.II/base/mutex.h>
24 
25 #include <deal.II/lac/vector.h>
26 
27 
29 
30 // Forward declaration
31 #ifndef DOXYGEN
32 template <typename number>
33 class Vector;
34 #endif
35 
36 namespace Functions
37 {
51  template <int dim, typename RangeNumberType = double>
52  class IncrementalFunction : public Function<dim, RangeNumberType>
53  {
54  public:
59  static constexpr unsigned int dimension = dim;
60 
65 
77 
85  virtual RangeNumberType
86  value(const Point<dim> &p, const unsigned int component = 0) const override;
87 
94  virtual void
95  vector_value(const Point<dim> & p,
96  Vector<RangeNumberType> &values) const override;
97 
103  void
105 
106  private:
111 
116 
121 
126  };
127 
128 } // namespace Functions
129 
130 
132 
133 #endif
typename FunctionTime< typename numbers::NumberTraits< RangeNumberType >::real_type >::time_type time_type
Definition: function.h:170
Vector< RangeNumberType > values_old
void set_decrement(const time_type delta_t)
typename Function< dim, RangeNumberType >::time_type time_type
IncrementalFunction(Function< dim, RangeNumberType > &base)
virtual void vector_value(const Point< dim > &p, Vector< RangeNumberType > &values) const override
Function< dim, RangeNumberType > & base
static constexpr unsigned int dimension
virtual RangeNumberType value(const Point< dim > &p, const unsigned int component=0) const override
Definition: point.h:112
Definition: vector.h:109
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:474
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:475