Loading [MathJax]/extensions/tex2jax.js
ivutils
All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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).