ivutils
Loading...
Searching...
No Matches
transfer.h File Reference

Interpolation forms, packers and interpolation transfers (local and MPI), which can be used for parallel simulation (transfer between CPU domains) or multigrid-approach (transfer between meshes). More...

#include <map>
#include "ivutils_defs.h"
#include "pencil.h"
#include "seqpack.h"
Include dependency graph for transfer.h:

Classes

class  Interpolation< coef_tt, index_tt >
 Class for interpolation (set of indices in some array and coefficients). More...
 
class  InterpPacker< coef_tt, val_t, index_tt >
 class to pack Interpolations with STL-like interface (iterators, which are returned by begin and end) More...
 
struct  InterpPacker< coef_tt, val_t, index_tt >::second_it< pair_it >
 records interpolation from a map (key - index, value - coefficient) More...
 
struct  StaticInterpolation< coef_t, N, index_t >
 Simple implementation of interpolation form (but not efficient in terms of used memory) More...
 
class  interp_transfer_packer_ift< container_tt >
 Interface definition for interpolation transfer packer. More...
 
class  interp_transfer_packer_ift< container_tt >::iterator
 iterator interface More...
 

Macros

#define USE_BUFF_INDICES   0
 switches on the use of asynchronous interpolation
 
#define INSTANTIATE_TRANSFER_VALUE(container_t)    template class TransferValue<container_t>
 This macro provides all instantiations to assemble TransferValue for defined container.
 

Functions

template<class interp_t , class T >
interp_t linear_mix (const T &c1, const interp_t &ip1, const T &c2, const interp_t &ip2)
 prepares the new interpolation which is a linear combination of the arguments
 

Detailed Description

Interpolation forms, packers and interpolation transfers (local and MPI), which can be used for parallel simulation (transfer between CPU domains) or multigrid-approach (transfer between meshes).