Alsvinn  0.5.3
The fast FVM simulator with UQ support
Public Member Functions | List of all members
alsfvm::functional::LogEntropyCUDA Class Reference

#include <alsfvm/functional/LogEntropyCUDA.hpp>

Inheritance diagram for alsfvm::functional::LogEntropyCUDA:
alsfvm::functional::Functional

Public Member Functions

 LogEntropyCUDA (const Parameters &parameters)
 Uses no parameter. More...
 
virtual void operator() (volume::Volume &conservedVolumeOut, const volume::Volume &conservedVolumeIn, const real weight, const grid::Grid &grid) override
 
virtual ivec3 getFunctionalSize (const grid::Grid &grid) const override
 Returns grid.getDimensions() More...
 
- Public Member Functions inherited from alsfvm::functional::Functional
virtual ~Functional ()
 
virtual ivec3 getGhostCellSizes (const grid::Grid &grid, const volume::Volume &volume) const
 
virtual std::string getPlatformToAllocateOn (const std::string &platform) const
 

Additional Inherited Members

- Public Types inherited from alsfvm::functional::Functional
typedef alsutils::parameters::Parameters Parameters
 To be used to pass parameters to the constructors. More...
 

Detailed Description

Computes the thermodynamic entropy, see

Fjordholm, U. S., Mishra, S., & Tadmor, E. (2012). Arbitrarily high-order accurate entropy stable essentially nonoscillatory schemes for systems of conservation laws, 50(2), 544–573.

for a definition (2.16), E.

Note that we compute the spatial integral of the entropy at all points.

Specifically, we set

\[ s = \log(p)-\gamma\log(p)\]

where $\gamma>0$ is the gas constant. We set the entropy $E$ to be

\[E=\frac{-\rho s}{\gamma-1}\]

This functional computes

\[\int_D E \;dx\]

Constructor & Destructor Documentation

◆ LogEntropyCUDA()

alsfvm::functional::LogEntropyCUDA::LogEntropyCUDA ( const Parameters parameters)

Uses no parameter.

Member Function Documentation

◆ getFunctionalSize()

virtual ivec3 alsfvm::functional::LogEntropyCUDA::getFunctionalSize ( const grid::Grid grid) const
overridevirtual

Returns grid.getDimensions()

Implements alsfvm::functional::Functional.

◆ operator()()

virtual void alsfvm::functional::LogEntropyCUDA::operator() ( volume::Volume conservedVolumeOut,
const volume::Volume conservedVolumeIn,
const real  weight,
const grid::Grid grid 
)
overridevirtual

Computes the operator value on the given input data

Note
In order to support time integration, the result should be added to conservedVolumeOut and extraVolumeOut, not overriding it.
Parameters
[out]conservedVolumeOutat the end, should have the contribution of the functional for the conservedVariables
[in]conservedVolumeInthe state of the conserved variables
[in]weightthe current weight to be applied to the functional. Ie, the functional should compute
conservedVolumeOut += weight + f(conservedVolumeIn)
[in]gridthe grid to use

Implements alsfvm::functional::Functional.


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