12#ifndef CD_ParallelOpsImplem_H
13#define CD_ParallelOpsImplem_H
22#include <CD_NamespaceHeader.H>
27 CH_TIME(
"ParallelOps::barrier");
37 CH_TIME(
"ParallelOps::partition");
60 CH_TIME(
"ParallelOps::min(Real)");
68 MayDay::Error(
"In file ParallelOps::min -- MPI communication error");
80 CH_TIME(
"ParallelOps::min(int)");
88 MayDay::Error(
"In file ParallelOps::min -- MPI communication error");
99 CH_TIME(
"ParallelOps::min(long long int)");
107 MayDay::Error(
"In file ParallelOps::min -- MPI communication error");
118 CH_TIME(
"ParallelOps::min(Real, RealVect)");
178 CH_TIME(
"ParallelOps::max(Real)");
185 MayDay::Error(
"In file ParallelOps::max -- MPI communication error");
197 CH_TIME(
"ParallelOps::max(int)");
205 MayDay::Error(
"In file ParallelOps::max -- MPI communication error");
216 CH_TIME(
"ParallelOps::max(long long)");
224 MayDay::Error(
"In file ParallelOps::max -- MPI communication error");
235 CH_TIME(
"ParallelOps::max(Real, RealVect)");
295 CH_TIME(
"ParallelOps::maxRank(Real)");
305 Real maxVal = -std::numeric_limits<Real>::max();
325 CH_TIME(
"ParallelOps::minRank(Real)");
335 Real maxVal = std::numeric_limits<Real>::max();
355 CH_TIME(
"ParallelOps::sum(Real)");
362 MayDay::Error(
"In file ParallelOps::sum -- MPI communication error");
374 CH_TIME(
"ParallelOps::sum(Real)");
381 MayDay::Error(
"In file ParallelOps::sum -- MPI communication error");
393 CH_TIME(
"ParallelOps::sum(long)");
400 MayDay::Error(
"In file ParallelOps::sum -- MPI communication error");
412 CH_TIME(
"ParallelOps::sum(long long)");
419 MayDay::Error(
"In file ParallelOps::sum -- MPI communication error");
428inline unsigned long long
431 CH_TIME(
"ParallelOps::sum(unsigned long long)");
434 unsigned long long ret = 0;
438 MayDay::Error(
"In file ParallelOps::sum -- MPI communication error");
450 CH_TIME(
"ParallelOps::vectorSum(Real)");
455 MayDay::Error(
"In file ParallelOps::vectorSum -- MPI communication error");
463 CH_TIME(
"ParallelOps::vectorSum(int)");
468 MayDay::Error(
"In file ParallelOps::vectorSum -- MPI communication error");
476 CH_TIME(
"ParallelOps::vectorSum(long int)");
481 MayDay::Error(
"In file ParallelOps::vectorSum -- MPI communication error");
489 CH_TIME(
"ParallelOps::vectorSum(long long int)");
494 MayDay::Error(
"In file ParallelOps::vectorSum -- MPI communication error");
502 CH_TIME(
"ParallelOps::average(Real)");
514 CH_TIME(
"ParallelOps::standardDeviation(Real)");
538#include <CD_NamespaceFooter.H>
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:25
Real max(const Real &a_input) noexcept
Get the maximum of the input, reduced over MPI ranks (in the Chombo communicator)
Definition CD_ParallelOpsImplem.H:176
std::pair< Real, int > maxRank(const Real &a_val) noexcept
Get the maximum value and the rank having the maximum value.
Definition CD_ParallelOpsImplem.H:293
Real average(const Real &a_val) noexcept
Compute the average (across MPI ranks) of the input value.
Definition CD_ParallelOpsImplem.H:500
Real standardDeviation(const Real &a_value) noexcept
Compute the standard deviation of the input value.
Definition CD_ParallelOpsImplem.H:512
std::pair< Real, int > minRank(const Real &a_val) noexcept
Get the minimum value and the rank having the minimum value.
Definition CD_ParallelOpsImplem.H:323
void vectorSum(Vector< Real > &a_data) noexcept
Perform a summation of all the MPI ranks's input data.
Definition CD_ParallelOpsImplem.H:448
Real min(const Real &a_input) noexcept
Get the minimum of the input, reduced over MPI ranks (in the Chombo communicator)
Definition CD_ParallelOpsImplem.H:58
Real sum(const Real &a_value) noexcept
Compute the sum across all MPI ranks.
Definition CD_ParallelOpsImplem.H:353
void barrier() noexcept
MPI barrier.
Definition CD_ParallelOpsImplem.H:25
std::pair< int, int > partition(const int a_N) noexcept
Partition the input number such that each MPI rank gets an equal chunk. We assume that N is the lengt...
Definition CD_ParallelOpsImplem.H:35