inciter::Scheme class

Generic forwarding interface to discretization proxies.

Base classes

class SchemeBase
Base class for generic forwarding interface to discretization proxies.

Constructors, destructors, conversion operators

SchemeBase() explicit
Empty constructor for Charm++.
SchemeBase() explicit

Public functions

template<typename... Args>
void vol(Args&&... args)
Function to call the vol() entry method of an array discproxy (broadcast)
template<typename... Args>
void totalvol(Args&&... args)
Function to call the totalvol() entry method of an array discproxy (broadcast)
template<class Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::bcast>::value, int>::type = 0>
void stat(Args&&... args)
Function to call the stat() entry method of an array discproxy (broadcast)
template<typename Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::elem>::value, int>::type = 0>
void stat(const CkArrayIndex1D& x, Args&&... args)
template<typename... Args>
void discInsert(const CkArrayIndex1D& x, Args&&... args)
template<class Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::bcast>::value, int>::type = 0>
void doneDiscInserting(Args&&... args)
Function to call the doneInserting entry method of an array discproxy (broadcast)
template<class Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::bcast>::value, int>::type = 0>
void doneDistFCTInserting(Args&&... args)
Function to call the doneInserting entry method of an array fctproxy (broadcast)
template<typename... Args>
void setup(Args&&... args)
template<typename... Args>
void lhs(Args&&... args)
template<typename... Args>
void resized(Args&&... args)
template<typename... Args>
void advance(Args&&... args)
template<class Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::bcast>::value, int>::type = 0>
void dt(Args&&... args)
template<typename Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::elem>::value, int>::type = 0>
void dt(const CkArrayIndex1D& x, Args&&... args)
template<class Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::bcast>::value, int>::type = 0>
void diag(Args&&... args)
template<typename... Args>
void insert(const CkArrayIndex1D& x, Args&&... args)
template<class Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::bcast>::value, int>::type = 0>
void doneInserting(Args&&... args)
Function to call the doneInserting entry method of an array proxy (broadcast)
template<typename Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::elem>::value, int>::type = 0>
void newMesh(const CkArrayIndex1D& x, Args&&... args)

Function documentation

inciter::Scheme::SchemeBase() explicit

Constructor Based on the input enum we create at least two empty chare arrays: (1) discproxy which contains common functionality and data for all discretizations, and (2) proxy, which have functionality and data specific to a given discretization. Note that proxy is bound (in migration behavior and properties) to discproxy.

template<typename... Args>
void inciter::Scheme::vol(Args&&... args)

Function to call the vol() entry method of an array discproxy (broadcast)

Parameters
args in Arguments to member function (entry method) to be called

discproxy.vol(...) This function calls the coord member function of a chare array discproxy and thus equivalent to discproxy.vol(...).

template<typename... Args>
void inciter::Scheme::totalvol(Args&&... args)

Function to call the totalvol() entry method of an array discproxy (broadcast)

Parameters
args in Arguments to member function (entry method) to be called

discproxy.totalvol(...) This function calls the totalvol member function of a chare array discproxy and thus equivalent to discproxy.totalvol(...).

template<class Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::bcast>::value, int>::type = 0>
void inciter::Scheme::stat(Args&&... args)

Function to call the stat() entry method of an array discproxy (broadcast)

Parameters
args in Arguments to member function (entry method) to be called

discproxy.stat(...) This function calls the stat member function of a chare array discproxy and thus equivalent to discproxy.stat(...).

template<typename Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::elem>::value, int>::type = 0>
void inciter::Scheme::stat(const CkArrayIndex1D& x, Args&&... args)

Parameters
in Chare array element index
args in Arguments to member function (entry method) to be called

discproxy[x].stat(...) Function to call the stat() entry method of an element discproxy (p2p) This function calls the stat member function of a chare array element discproxy and thus equivalent to discproxy[x].stat(...).

template<typename... Args>
void inciter::Scheme::discInsert(const CkArrayIndex1D& x, Args&&... args)

Parameters
in Chare array element index
args in Arguments to member function (entry method) to be called

discproxy[x].insert(...) Function to call the insert entry method of an element discproxy (p2p) This function calls the insert member function of a chare array element discproxy and thus equivalent to discproxy[x].insert(...), using the last argument as default.

template<class Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::bcast>::value, int>::type = 0>
void inciter::Scheme::doneDiscInserting(Args&&... args)

Function to call the doneInserting entry method of an array discproxy (broadcast)

Parameters
args in Arguments to member function (entry method) to be called

discproxy.doneInserting(...) This function calls the doneInserting member function of a chare array discproxy and thus equivalent to discproxy.doneInserting(...).

template<class Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::bcast>::value, int>::type = 0>
void inciter::Scheme::doneDistFCTInserting(Args&&... args)

Function to call the doneInserting entry method of an array fctproxy (broadcast)

Parameters
args in Arguments to member function (entry method) to be called

fctcproxy.doneInserting(...) This function calls the doneInserting member function of a chare array fctproxy and thus equivalent to fctproxy.doneInserting(...).

template<typename... Args>
void inciter::Scheme::setup(Args&&... args)

Parameters
args in Arguments to member function (entry method) to be called

proxy.setup(...) Function to call the setup entry method of an array proxy (broadcast) This function calls the setup member function of a chare array proxy and thus equivalent to proxy.setup(...), using the last argument as default.

template<typename... Args>
void inciter::Scheme::lhs(Args&&... args)

Parameters
args in Arguments to member function (entry method) to be called

proxy.lhs(...) Function to call the lhs entry method of an array proxy (broadcast) This function calls the lhs member function of a chare array proxy and thus equivalent to proxy.lhs(...), using the last argument as default.

template<typename... Args>
void inciter::Scheme::resized(Args&&... args)

Parameters
args in Arguments to member function (entry method) to be called

proxy.resized(...) Function to call the resized entry method of an array proxy (broadcast) This function calls the resized member function of a chare array proxy and thus equivalent to proxy.resized(...), using the last argument as default.

template<typename... Args>
void inciter::Scheme::advance(Args&&... args)

Parameters
args in Arguments to member function entry method to be called

proxy.advance(...) Function to call the advance entry method of an array proxy (broadcast) This function calls the advance member function of a chare array proxy and thus equivalent to proxy.advance(...), using the last argument as default.

template<class Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::bcast>::value, int>::type = 0>
void inciter::Scheme::dt(Args&&... args)

Parameters
args in arguments to member function (entry method) to be called

proxy.dt(...) function to call the dt entry method of an array proxy (broadcast) this function calls the dt member function of a chare array proxy and thus equivalent to proxy.dt(...), specifying a non-default last argument.

template<typename Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::elem>::value, int>::type = 0>
void inciter::Scheme::dt(const CkArrayIndex1D& x, Args&&... args)

Parameters
in Chare array element index
args in Arguments to member function (entry method) to be called

proxy[x].dt(...) Function to call the dt entry method of an element proxy (p2p) This function calls the dt member function of a chare array element proxy and thus equivalent to proxy[x].dt(...), specifying a non-default last argument.

template<class Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::bcast>::value, int>::type = 0>
void inciter::Scheme::diag(Args&&... args)

Parameters
args in arguments to member function (entry method) to be called

proxy.diag(...) function to call the diag entry method of an array proxy (broadcast) this function calls the diag member function of a chare array proxy and thus equivalent to proxy.diag(...), specifying a non-default last argument.

template<typename... Args>
void inciter::Scheme::insert(const CkArrayIndex1D& x, Args&&... args)

Parameters
in Chare array element index
args in Arguments to member function (entry method) to be called

proxy[x].insert(...) Function to call the insert entry method of an element proxy (p2p) This function calls the insert member function of a chare array element proxy and thus equivalent to proxy[x].insert(...), using the last argument as default.

template<class Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::bcast>::value, int>::type = 0>
void inciter::Scheme::doneInserting(Args&&... args)

Function to call the doneInserting entry method of an array proxy (broadcast)

Parameters
args in Arguments to member function (entry method) to be called

proxy.doneInserting(...) This function calls the doneInserting member function of a chare array proxy and thus equivalent to proxy.doneInserting(...).

template<typename Op, typename... Args, typename std::enable_if<std::is_same<Op, tag::elem>::value, int>::type = 0>
void inciter::Scheme::newMesh(const CkArrayIndex1D& x, Args&&... args)

Parameters
in Chare array element index
args in Arguments to member function (entry method) to be called

proxy[x].newMesh(...) Function to call the newMesh entry method of an element proxy (p2p) This function calls the newMesh member function of a chare array element proxy and thus equivalent to proxy[x].newMesh(...), specifying a non-default last argument.