DiFfRG
Loading...
Searching...
No Matches
abstract_data.hh
Go to the documentation of this file.
1#pragma once
2
3// external libraries
4#include <deal.II/lac/vector.h>
5
6namespace DiFfRG
7{
8 using namespace dealii;
9
17 template <typename NumberType> class AbstractFlowingVariables
18 {
19 public:
25 virtual BlockVector<NumberType> &data() = 0;
26 virtual const BlockVector<NumberType> &data() const = 0;
27
33 virtual Vector<NumberType> &spatial_data() = 0;
34 virtual const Vector<NumberType> &spatial_data() const = 0;
35
41 virtual Vector<NumberType> &variable_data() = 0;
42 virtual const Vector<NumberType> &variable_data() const = 0;
43 };
44
45} // namespace DiFfRG
A class to set up initial data for whatever discretization we have chosen. Also used to switch/manage...
Definition abstract_data.hh:18
virtual Vector< NumberType > & variable_data()=0
Obtain the variable data vector.
virtual Vector< NumberType > & spatial_data()=0
Obtain the spatial data vector.
virtual const Vector< NumberType > & spatial_data() const =0
virtual const BlockVector< NumberType > & data() const =0
virtual BlockVector< NumberType > & data()=0
Obtain the data vector holding both spatial (block 0) and variable (block 1) data.
virtual const Vector< NumberType > & variable_data() const =0
Definition complex_math.hh:14