Reference documentation for deal.II version GIT relicensing-437-g81ec864850 2024-04-19 07:30: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\}}\)
Loading...
Searching...
No Matches
incremental_function.h
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 2018 - 2023 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Part of the source code is dual licensed under Apache-2.0 WITH
9// LLVM-exception OR LGPL-2.1-or-later. Detailed license information
10// governing the source code and code contributions can be found in
11// LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
12//
13// ------------------------------------------------------------------------
14
15#ifndef dealii_incremental_function_h
16#define dealii_incremental_function_h
17
18
19#include <deal.II/base/config.h>
20
22#include <deal.II/base/mutex.h>
23
24#include <deal.II/lac/vector.h>
25
26
28
29// Forward declaration
30#ifndef DOXYGEN
31template <typename number>
32class Vector;
33#endif
34
35namespace Functions
36{
50 template <int dim, typename RangeNumberType = double>
51 class IncrementalFunction : public Function<dim, RangeNumberType>
52 {
53 public:
58 static constexpr unsigned int dimension = dim;
59
64
76
84 virtual RangeNumberType
85 value(const Point<dim> &p, const unsigned int component = 0) const override;
86
93 virtual void
94 vector_value(const Point<dim> &p,
95 Vector<RangeNumberType> &values) const override;
96
102 void
104
105 private:
110
115
120
125 };
126
127} // namespace Functions
128
129
131
132#endif
typename FunctionTime< typename numbers::NumberTraits< RangeNumberType >::real_type >::time_type time_type
Definition function.h:169
Vector< RangeNumberType > values_old
void set_decrement(const time_type delta_t)
typename Function< dim, RangeNumberType >::time_type time_type
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:111
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:502
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:503