|
DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
|
Finds the cell closest to a specified anchor point across all MPI ranks. More...
#include <EulerBC.hpp>
Public Types | |
| using | TU = Eigen::Vector< real, nVarsFixed > |
| State vector type. | |
Public Member Functions | |
| AnchorPointRecorder (const MPIInfo &_mpi) | |
| Construct with MPI communicator. | |
| void | Reset () |
| Reset the recorded distance to veryLargeReal (invalidate current anchor). | |
| void | AddAnchor (const TU &vin, real nDist) |
| Submit a candidate anchor cell on this rank. | |
| void | ObtainAnchorMPI () |
| Global MPI reduction to find the closest anchor across all ranks. | |
Public Attributes | |
| MPIInfo | mpi |
| MPI communicator info. | |
| TU | val |
| State vector of the closest cell found so far. | |
| real | dist {veryLargeReal} |
| Distance to the closest cell found so far. | |
Finds the cell closest to a specified anchor point across all MPI ranks.
Each rank calls AddAnchor() with candidate cells; ObtainAnchorMPI() then performs an MPI_MINLOC reduction to identify the globally closest cell and broadcasts its state vector to all ranks. Used for inlet/outlet reference state anchoring.
| nVarsFixed | Compile-time number of conservative variables (or Eigen::Dynamic). |
Definition at line 646 of file EulerBC.hpp.
| using DNDS::Euler::AnchorPointRecorder< nVarsFixed >::TU = Eigen::Vector<real, nVarsFixed> |
State vector type.
Definition at line 648 of file EulerBC.hpp.
|
inline |
Construct with MPI communicator.
| _mpi | MPI communicator wrapper. |
Definition at line 655 of file EulerBC.hpp.
|
inline |
Submit a candidate anchor cell on this rank.
Keeps the candidate only if nDist is less than the current best.
| vin | State vector of the candidate cell. |
| nDist | Distance from the candidate cell center to the anchor point. |
Definition at line 668 of file EulerBC.hpp.
|
inline |
Global MPI reduction to find the closest anchor across all ranks.
Uses MPI_DOUBLE_INT + MPI_MINLOC to identify the rank holding the minimum distance, then broadcasts that rank's state vector to all ranks.
Definition at line 680 of file EulerBC.hpp.
|
inline |
Reset the recorded distance to veryLargeReal (invalidate current anchor).
Definition at line 658 of file EulerBC.hpp.
| real DNDS::Euler::AnchorPointRecorder< nVarsFixed >::dist {veryLargeReal} |
Distance to the closest cell found so far.
Definition at line 651 of file EulerBC.hpp.
| MPIInfo DNDS::Euler::AnchorPointRecorder< nVarsFixed >::mpi |
MPI communicator info.
Definition at line 649 of file EulerBC.hpp.
| TU DNDS::Euler::AnchorPointRecorder< nVarsFixed >::val |
State vector of the closest cell found so far.
Definition at line 650 of file EulerBC.hpp.