ExaDG
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
ExaDG::Utilities::SpatialAwareFunction< dim, Number > Class Template Referenceabstract

#include <spatial_aware_function.h>

Inheritance diagram for ExaDG::Utilities::SpatialAwareFunction< dim, Number >:

Public Types

using time_type = typename dealii::Function<dim, Number>::time_type
 

Public Member Functions

 SpatialAwareFunction (const unsigned int n_components=1, const time_type initial_time=0.0)
 
virtual bool varies_in_space (double const time) const =0
 
virtual Number compute_time_factor (double const time) const =0
 

Detailed Description

template<int dim, typename Number = double>
class ExaDG::Utilities::SpatialAwareFunction< dim, Number >

The intention behind is to bypass a potentially expensive evaluation of dealii::Function::value() (which the internal implementation will call for each quadrature point) in case one knows a priori that the function does not vary in space.

Member Function Documentation

◆ compute_time_factor()

template<int dim, typename Number = double>
virtual Number ExaDG::Utilities::SpatialAwareFunction< dim, Number >::compute_time_factor ( double const time) const
pure virtual

If the above function varies_in_space() returns false, this function will be used to evaluate the function's value, bypassing dealii::Function::value().

◆ varies_in_space()

template<int dim, typename Number = double>
virtual bool ExaDG::Utilities::SpatialAwareFunction< dim, Number >::varies_in_space ( double const time) const
pure virtual

If this function evaluates to true, dealii::Function::set_time() in combination with dealii::Function::value() will be used to evaluate the function's value."


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