ALL 0.9.3
A Loadbalacing Library
Loading...
Searching...
No Matches
border_shift_1d.cpp File Reference
#include "ALL_Functions.hpp"
#include <boost/test/unit_test.hpp>
#include <iostream>
#include <list>
#include <mpi.h>
#include <vector>
+ Include dependency graph for border_shift_1d.cpp:

Go to the source code of this file.

Macros

#define BOOST_TEST_MAIN
 
#define BOOST_TEST_MODULE   borderShift1d
 

Functions

 BOOST_AUTO_TEST_CASE (double_local_process_on_edge)
 
 BOOST_AUTO_TEST_CASE (double_neighbor_larger_than_min_size)
 
 BOOST_AUTO_TEST_CASE (double_neighbor_null)
 
 BOOST_AUTO_TEST_CASE (double_normal_case)
 
template<typename T, typename W>
borderShift1d (const int remote_rank, const int local_coord, const int global_dim, const W local_work, const W remote_work, const T local_size, const T remote_size, const T gamma, const T minSize)
 

Macro Definition Documentation

◆ BOOST_TEST_MAIN

#define BOOST_TEST_MAIN

Definition at line 31 of file border_shift_1d.cpp.

◆ BOOST_TEST_MODULE

#define BOOST_TEST_MODULE   borderShift1d

Definition at line 33 of file border_shift_1d.cpp.

Function Documentation

◆ BOOST_AUTO_TEST_CASE() [1/4]

BOOST_AUTO_TEST_CASE ( double_local_process_on_edge )

Definition at line 102 of file border_shift_1d.cpp.

+ Here is the call graph for this function:

◆ BOOST_AUTO_TEST_CASE() [2/4]

BOOST_AUTO_TEST_CASE ( double_neighbor_larger_than_min_size )

Definition at line 83 of file border_shift_1d.cpp.

+ Here is the call graph for this function:

◆ BOOST_AUTO_TEST_CASE() [3/4]

BOOST_AUTO_TEST_CASE ( double_neighbor_null )

Definition at line 64 of file border_shift_1d.cpp.

+ Here is the call graph for this function:

◆ BOOST_AUTO_TEST_CASE() [4/4]

BOOST_AUTO_TEST_CASE ( double_normal_case )

Definition at line 45 of file border_shift_1d.cpp.

+ Here is the call graph for this function:

◆ borderShift1d()

template<typename T, typename W>
T ALL::Functions::borderShift1d ( const int remote_rank,
const int local_coord,
const int global_dim,
const W local_work,
const W remote_work,
const T local_size,
const T remote_size,
const T gamma,
const T minSize )

function to compute the one-dimensional shift of the border between the local process and the process indicated by neighbor_rank

Template Parameters
Tdata type for vertices and related data
Wdata type for work and related data
Parameters
[in]remote_rankthe MPI rank of the neighbors the border is shared with
[in]local_coordthe cartesian coordinate of the local domain in the process grid in the direction of the border shift
[in]global_dimthe dimension of the process grid in the direction of the border shift
[in]local_workthe work on the local process
[in]remote_workthe work on the neighboring process
[in]local_sizethe size of the local domain in the dimension of the border shift
[in]remote_sizethe size of the neighbor domain in the dimension of the border shift
[in]gammathe correction value for the shift, needed to regulate the width of the shift, e.g. to avoid borders shifts where next-neighbor borders are crossed by one another
[in]minSizeoptional minimum size of the domain in the dimension of the border shift
Returns
the shift of the border in relation to the local domain

Definition at line 34 of file ALL_Functions.hpp.

+ Here is the caller graph for this function: