Public Types | Public Member Functions | List of all members
LtsTimeStepper Class Reference

#include <TimeStepper.hpp>

Public Types

using Inherit = LtsTimeStepper_detail::FakeVirtualInherit_boundary_dense_output< LtsTimeStepper_detail::FakeVirtualInherit_compute_boundary_delta< LtsTimeStepper > >
 
using creatable_classes = tmpl::list< TimeSteppers::AdamsBashforthN >
 

Public Member Functions

 WRAPPED_PUPable_abstract (LtsTimeStepper)
 
template<typename LocalVars , typename RemoteVars , typename Coupling >
std::result_of_t< const Coupling &(LocalVars, RemoteVars)> compute_boundary_delta (const Coupling &coupling, const gsl::not_null< TimeSteppers::BoundaryHistory< LocalVars, RemoteVars, std::result_of_t< const Coupling &(LocalVars, RemoteVars)>> * > history, const TimeDelta &time_step) const noexcept
 Compute the change in a boundary quantity due to the coupling on the interface. More...
 
template<typename LocalVars , typename RemoteVars , typename Coupling >
std::result_of_t< const Coupling &(LocalVars, RemoteVars)> boundary_dense_output (const Coupling &coupling, const TimeSteppers::BoundaryHistory< LocalVars, RemoteVars, std::result_of_t< const Coupling &(LocalVars, RemoteVars)>> &history, const double time) const noexcept
 
uint64_t number_of_substeps () const noexcept final
 Substep LTS integrators are not supported, so this is always 1.
 

Detailed Description

Base class for TimeSteppers with local time-stepping support, derived from TimeStepper.

Member Function Documentation

◆ compute_boundary_delta()

template<typename LocalVars , typename RemoteVars , typename Coupling >
std::result_of_t<const Coupling&(LocalVars, RemoteVars)> LtsTimeStepper::compute_boundary_delta ( const Coupling &  coupling,
const gsl::not_null< TimeSteppers::BoundaryHistory< LocalVars, RemoteVars, std::result_of_t< const Coupling &(LocalVars, RemoteVars)>> * >  history,
const TimeDelta time_step 
) const
inlinenoexcept

Compute the change in a boundary quantity due to the coupling on the interface.

The coupling function coupling should take the local and remote flux data and compute the derivative of the boundary quantity. These values may be used to form a linear combination internally, so the result should have appropriate mathematical operators defined to allow that.


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