TimeSteppers::BoundaryHistory< LocalVars, RemoteVars, CouplingResult > Class Template Reference

#include <BoundaryHistory.hpp>

Public Types

using local_iterator = IteratorType< LocalVars >

using remote_iterator = IteratorType< RemoteVars >

Public Member Functions

BoundaryHistory (const BoundaryHistory &)=delete

BoundaryHistory (BoundaryHistory &&)=default

BoundaryHistoryoperator= (const BoundaryHistory &)=delete

BoundaryHistoryoperator= (BoundaryHistory &&)=default

BoundaryHistory (const size_t integration_order) noexcept

const LocalVars & local_data (const TimeStepId &time_id) const noexcept
Look up the stored local data at the time_id. It is an error to request data at a time_id that has not been inserted yet.

template<typename Coupling >
const CouplingResult & coupling (Coupling &&c, const local_iterator &local, const remote_iterator &remote) const noexcept
Evaluate the coupling function at the given local and remote history entries. The coupling function will be passed the local and remote FluxVars and should return a CouplingResult. Values are cached internally, so callers should ensure that the coupling functions provided on separate calls produce the same result.

void pup (PUP::er &p) noexcept

size_t integration_order () const noexcept
The current order of integration. This should match the value in the History.

void integration_order (const size_t integration_order) noexcept
The current order of integration. This should match the value in the History.

void local_insert (const TimeStepId &time_id, LocalVars vars) noexcept
Add a new value to the end of the history of the indicated side.

void remote_insert (const TimeStepId &time_id, RemoteVars vars) noexcept
Add a new value to the end of the history of the indicated side.

void local_insert_initial (const TimeStepId &time_id, LocalVars vars) noexcept
Add a new value to the front of the history of the indicated side. This is often convenient for setting initial data.

void remote_insert_initial (const TimeStepId &time_id, RemoteVars vars) noexcept
Add a new value to the front of the history of the indicated side. This is often convenient for setting initial data.

void local_mark_unneeded (const local_iterator &first_needed) noexcept
Mark all data before the passed point in history on the indicated side as unneeded so it can be removed. Calling this directly should not often be necessary, as it is handled internally by the time steppers.

void remote_mark_unneeded (const remote_iterator &first_needed) noexcept
Mark all data before the passed point in history on the indicated side as unneeded so it can be removed. Calling this directly should not often be necessary, as it is handled internally by the time steppers.

local_iterator local_begin () const noexcept
Access to the sequence of times on the indicated side.

local_iterator local_end () const noexcept
Access to the sequence of times on the indicated side.

remote_iterator remote_begin () const noexcept
Access to the sequence of times on the indicated side.

remote_iterator remote_end () const noexcept
Access to the sequence of times on the indicated side.

size_t local_size () const noexcept
Access to the sequence of times on the indicated side.

size_t remote_size () const noexcept
Access to the sequence of times on the indicated side.

Detailed Description

template<typename LocalVars, typename RemoteVars, typename CouplingResult> class TimeSteppers::BoundaryHistory< LocalVars, RemoteVars, CouplingResult >

History data used by a TimeStepper for boundary integration.

Template Parameters
 LocalVars local variables passed to the boundary coupling RemoteVars remote variables passed to the boundary coupling CouplingResult result of the coupling function

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