Public Types | Public Member Functions | List of all members
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
LocalVarslocal variables passed to the boundary coupling
RemoteVarsremote variables passed to the boundary coupling
CouplingResultresult of the coupling function

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