The FARGO_THORIN code developer's guide
|
Contains the functions used to synchronize buffer zones on all processes. More...
#include "fargo.h"
Go to the source code of this file.
Functions | |
void | AllocateComm () |
void | CommunicateBoundaries (PolarGrid *Density, PolarGrid *Vrad, PolarGrid *Vtheta, PolarGrid *Energy, PolarGrid *Label) |
Variables | |
static real * | SendInnerBoundary |
static real * | SendOuterBoundary |
static real * | RecvInnerBoundary |
static real * | RecvOuterBoundary |
static int | allocated_com = 0 |
static int | size_com |
Contains the functions used to synchronize buffer zones on all processes.
In addition to the main function that allows the synchronization (note that even processes first send their inner zones to the previous process, then receive their inner buffer from this process, while odd processes first receive their outer buffer from the next process, then send their outer zones to the next process. This file also contains the function that allocates the memory for the communication (once for all the run).
Definition in file commbound.c.
void AllocateComm | ( | ) |
Definition at line 28 of file commbound.c.
References AdvecteLabel, allocated_com, CPU_Rank, CPUOVERLAP, EnergyEq, NSEC, prs_exit(), RecvInnerBoundary, RecvOuterBoundary, SendInnerBoundary, SendOuterBoundary, size_com, and YES.
Referenced by CommunicateBoundaries().
void CommunicateBoundaries | ( | PolarGrid * | Density, |
PolarGrid * | Vrad, | ||
PolarGrid * | Vtheta, | ||
PolarGrid * | Energy, | ||
PolarGrid * | Label | ||
) |
Definition at line 47 of file commbound.c.
References AdvecteLabel, AllocateComm(), allocated_com, CPU_Number, CPU_Rank, CPUOVERLAP, EnergyEq, fargostat, MPI_COMM_WORLD, MPI_DOUBLE, MPI_Irecv(), MPI_Isend(), MPI_Wait(), NSEC, RecvInnerBoundary, RecvOuterBoundary, SendInnerBoundary, SendOuterBoundary, size_com, and YES.
Referenced by AlgoGas().
|
static |
Definition at line 25 of file commbound.c.
Referenced by AllocateComm(), and CommunicateBoundaries().
|
static |
Definition at line 22 of file commbound.c.
Referenced by AllocateComm(), and CommunicateBoundaries().
|
static |
Definition at line 23 of file commbound.c.
Referenced by AllocateComm(), and CommunicateBoundaries().
|
static |
Definition at line 20 of file commbound.c.
Referenced by AllocateComm(), and CommunicateBoundaries().
|
static |
Definition at line 21 of file commbound.c.
Referenced by AllocateComm(), and CommunicateBoundaries().
|
static |
Definition at line 26 of file commbound.c.
Referenced by AllocateComm(), and CommunicateBoundaries().