Alsvinn  0.5.3
The fast FVM simulator with UQ support
BoundedVariation.hpp
Go to the documentation of this file.
1 
2 #pragma once
4 namespace alsfvm {
5 namespace functional {
6 
8 class BoundedVariation : public Functional {
9 public:
16 
35  virtual void operator()(volume::Volume& conservedVolumeOut,
36  const volume::Volume& conservedVolumeIn,
37  const real weight,
38  const grid::Grid& grid
39  ) override;
40 
42  virtual ivec3 getFunctionalSize(const grid::Grid& grid) const override;
43 
44 
45  virtual std::string getPlatformToAllocateOn(const std::string& platform) const
46  override
47  ;
48 private:
49  const int degree = 1;
50 
51 };
52 } // namespace functional
53 } // namespace alsfvm
Definition: Grid.hpp:27
Computes the bounded variation of the given solution.
Definition: BoundedVariation.hpp:8
simulator::SimulatorParameters & parameters
Definition: CellComputerFactory.cpp:60
Holds general parameters based on a boost::property tree.
Definition: Parameters.hpp:24
The Volume class represents a volume (a collection of cells with values for each cell (eg...
Definition: Volume.hpp:30
BoundedVariation(const Parameters &parameters)
Definition: BoundedVariation.cpp:7
double real
Definition: types.hpp:65
const grid::Grid & grid
Definition: NumericalFluxFactory.cpp:104
virtual std::string getPlatformToAllocateOn(const std::string &platform) const override
Definition: BoundedVariation.cpp:42
virtual void operator()(volume::Volume &conservedVolumeOut, const volume::Volume &conservedVolumeIn, const real weight, const grid::Grid &grid) override
Definition: BoundedVariation.cpp:12
Various utility functions to implement the tecno flux.
Definition: types.hpp:30
virtual ivec3 getFunctionalSize(const grid::Grid &grid) const override
Returns ivec3{1,1,1} – we only need one element to represent this functional.
Definition: BoundedVariation.cpp:38
functional
Definition: FunctionalStatistics.cpp:76
Abstract base class to represent a functional.
Definition: Functional.hpp:29