Alsvinn
0.5.3
The fast FVM simulator with UQ support
|
Abstract base class to represent a functional. More...
#include <alsfvm/functional/Functional.hpp>
Public Types | |
typedef alsutils::parameters::Parameters | Parameters |
To be used to pass parameters to the constructors. More... | |
Public Member Functions | |
virtual | ~Functional () |
virtual void | operator() (volume::Volume &conservedVolumeOut, const volume::Volume &conservedVolumeIn, const real weight, const grid::Grid &grid)=0 |
virtual ivec3 | getFunctionalSize (const grid::Grid &grid) const =0 |
virtual ivec3 | getGhostCellSizes (const grid::Grid &grid, const volume::Volume &volume) const |
virtual std::string | getPlatformToAllocateOn (const std::string &platform) const |
Abstract base class to represent a functional.
A functional is an abstract type to represent a map from the solution to some other space.
To be used to pass parameters to the constructors.
|
inlinevirtual |
|
pure virtual |
Returns the number of elements needed to represent the functional
Eg. returning ivec3{1,1,1} would imply that operator() should be called with conservedVolumeOut and extraVolumeOut being of size {1,1,1}.
Implemented in alsfvm::functional::Legendre, alsfvm::functional::LegendrePointWiseCUDA, alsfvm::functional::LegendrePointWise, alsfvm::functional::LogEntropyCUDA, alsfvm::functional::LogEntropy, alsfvm::functional::Moment, alsfvm::functional::IdentityCUDA, alsfvm::functional::StructureBase, alsfvm::functional::StructureCubeCUDA, alsfvm::functional::Identity, alsfvm::functional::StructureCube, and alsfvm::functional::BoundedVariation.
|
virtual |
Reimplemented in alsfvm::functional::Moment.
|
virtual |
Reimplemented in alsfvm::functional::BoundedVariation.
|
pure virtual |
Computes the operator value on the givne input data
[out] | conservedVolumeOut | at the end, should have the contribution of the functional for the conservedVariables |
[in] | conservedVolumeIn | the state of the conserved variables |
[in] | weight | the current weight to be applied to the functional. Ie, the functional should compute conservedVolumeOut += weight + f(conservedVolumeIn) |
[in] | grid | the grid to work on |
Implemented in alsfvm::functional::Legendre, alsfvm::functional::LegendrePointWiseCUDA, alsfvm::functional::LegendrePointWise, alsfvm::functional::LogEntropyCUDA, alsfvm::functional::LogEntropy, alsfvm::functional::Moment, alsfvm::functional::IdentityCUDA, alsfvm::functional::Identity, alsfvm::functional::StructureBase, alsfvm::functional::StructureCubeCUDA, alsfvm::functional::StructureCube, and alsfvm::functional::BoundedVariation.