|
DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
|
Accumulator for MPI-reduced boundary-face integrals. More...
#include <EulerBC.hpp>
Public Member Functions | |
| IntegrationRecorder (const MPIInfo &_nmpi, int siz) | |
| Construct and zero-initialize the integration recorder. | |
| void | Reset () |
| Reset the integral vector and divisor to zero. | |
| template<class TU > | |
| void | Add (TU &&add, real dAdd) |
| Accumulate a contribution from a single boundary face. | |
| void | Reduce () |
| MPI Allreduce (SUM) both the integral vector and the divisor. | |
Public Attributes | |
| Eigen::Vector< real, Eigen::Dynamic > | v |
| Accumulated integral vector. | |
| real | div |
| Accumulated divisor (area weight). | |
| MPIInfo | mpi |
| MPI communicator info. | |
Accumulator for MPI-reduced boundary-face integrals.
Collects integrated quantities (e.g. force components, mass flux) over boundary faces on each MPI rank, then performs an MPI_SUM Allreduce to obtain global totals. The divisor div is reduced in parallel and can be used for area-weighted averaging.
Definition at line 587 of file EulerBC.hpp.
|
inline |
Construct and zero-initialize the integration recorder.
| _nmpi | MPI communicator wrapper. |
| siz | Length of the integral vector. |
Definition at line 598 of file EulerBC.hpp.
|
inline |
Accumulate a contribution from a single boundary face.
| TU | Vector type compatible with Eigen addition. |
| add | Integral contribution vector to add. |
| dAdd | Corresponding divisor (area) contribution. |
Definition at line 619 of file EulerBC.hpp.
|
inline |
MPI Allreduce (SUM) both the integral vector and the divisor.
Definition at line 626 of file EulerBC.hpp.
|
inline |
Reset the integral vector and divisor to zero.
Definition at line 606 of file EulerBC.hpp.
| real DNDS::Euler::IntegrationRecorder::div |
Accumulated divisor (area weight).
Definition at line 590 of file EulerBC.hpp.
| MPIInfo DNDS::Euler::IntegrationRecorder::mpi |
MPI communicator info.
Definition at line 591 of file EulerBC.hpp.
| Eigen::Vector<real, Eigen::Dynamic> DNDS::Euler::IntegrationRecorder::v |
Accumulated integral vector.
Definition at line 589 of file EulerBC.hpp.