Alsvinn  0.5.3
The fast FVM simulator with UQ support
Public Member Functions | List of all members
alsfvm::diffusion::DiffusionOperator Class Referenceabstract

#include <alsfvm/diffusion/DiffusionOperator.hpp>

Inheritance diagram for alsfvm::diffusion::DiffusionOperator:
alsfvm::diffusion::NoDiffusion alsfvm::diffusion::TecnoDiffusionCPU< Equation, DiffusionMatrix > alsfvm::diffusion::TecnoDiffusionCUDA< Equation, DiffusionMatrix >

Public Member Functions

virtual ~DiffusionOperator ()
 
virtual void applyDiffusion (volume::Volume &outputVolume, const volume::Volume &conservedVolume)=0
 
virtual size_t getNumberOfGhostCells () const =0
 

Detailed Description

Applies numerical diffusion to the given conserved variables

This is typically used for the TeCNO-scheme, see http://www.cscamm.umd.edu/tadmor/pub/TV+entropy/Fjordholm_Mishra_Tadmor_SINUM2012.pdf

Constructor & Destructor Documentation

◆ ~DiffusionOperator()

virtual alsfvm::diffusion::DiffusionOperator::~DiffusionOperator ( )
inlinevirtual

Member Function Documentation

◆ applyDiffusion()

virtual void alsfvm::diffusion::DiffusionOperator::applyDiffusion ( volume::Volume outputVolume,
const volume::Volume conservedVolume 
)
pure virtual

Applies numerical diffusion to the outputVolume given the data in conservedVolume.

Note
The numerical diffusion will be added to outputVolume, ie. the code will essentially work like
outputVolume += diffusion(conservedVolume);

Implemented in alsfvm::diffusion::TecnoDiffusionCPU< Equation, DiffusionMatrix >, alsfvm::diffusion::TecnoDiffusionCUDA< Equation, DiffusionMatrix >, and alsfvm::diffusion::NoDiffusion.

◆ getNumberOfGhostCells()

virtual size_t alsfvm::diffusion::DiffusionOperator::getNumberOfGhostCells ( ) const
pure virtual

Gets the total number of ghost cells this diffusion needs, this is typically governed by reconstruction algorithm.

Implemented in alsfvm::diffusion::TecnoDiffusionCPU< Equation, DiffusionMatrix >, alsfvm::diffusion::TecnoDiffusionCUDA< Equation, DiffusionMatrix >, and alsfvm::diffusion::NoDiffusion.


The documentation for this class was generated from the following file: