Nektar++
|
#include <InterfaceMapDG.h>
Public Member Functions | |
InterfaceTrace (const ExpListSharedPtr &trace, const SpatialDomains::InterfaceShPtr &interfaceShPtr) | |
Constructor. More... | |
virtual | ~InterfaceTrace ()=default |
Default destructor. More... | |
void | SetCheckLocal (bool flag) |
std::vector< Array< OneD, NekDouble > > | GetMissingCoords () |
Returns the missing coordinates vector. More... | |
SpatialDomains::InterfaceShPtr | GetInterface () |
Returns the interface object. More... | |
void | CalcLocalMissing () |
Calculates what coordinates on the interface are missing locally. More... | |
void | FillLocalBwdTrace (Array< OneD, NekDouble > &Fwd, Array< OneD, NekDouble > &Bwd) |
Fills the Bwd trace by interpolating from the Fwd for local interfaces. More... | |
void | FillRankBwdTrace (Array< OneD, NekDouble > &trace, Array< OneD, NekDouble > &Bwd) |
Fills the Bwd trace from partitioned trace. More... | |
Private Attributes | |
ExpListSharedPtr | m_trace |
Trace expansion list. More... | |
SpatialDomains::InterfaceShPtr | m_interface |
Local interface object. More... | |
bool | m_checkLocal = false |
Flag whether the opposite side of the interface is present locally. More... | |
std::vector< Array< OneD, NekDouble > > | m_missingCoords |
Vector of coordinates on interface missing from the other side locally. More... | |
std::map< int, std::pair< int, Array< OneD, NekDouble > > > | m_foundLocalCoords |
Map of found coordinates present locally. More... | |
std::vector< int > | m_mapMissingCoordToTrace |
Vector of indices corresponding to m_missingCoord locations in trace. More... | |
Object for each interface present between two ranks, which are held in the InterfaceExchange object.
Definition at line 51 of file InterfaceMapDG.h.
Nektar::MultiRegions::InterfaceTrace::InterfaceTrace | ( | const ExpListSharedPtr & | trace, |
const SpatialDomains::InterfaceShPtr & | interfaceShPtr | ||
) |
Constructor.
Definition at line 42 of file InterfaceMapDG.cpp.
|
virtualdefault |
Default destructor.
void Nektar::MultiRegions::InterfaceTrace::CalcLocalMissing | ( | ) |
Calculates what coordinates on the interface are missing locally.
Calculates what coordinates on the interface are missing; i.e. aren't located in an edge from the other side of the interface on this partition. These are stored in the vector m_missingCoords, and another vector of the same index layout contains the location of that coordinate in the trace i.e. the 'offset + i' value. It checks first if the interface is flagged local, which denotes whether the opposite side is also present on this rank, if not then all coordinates are missing. If local then the same structure as CalcRankDistances is used to minimise computational cost.
Definition at line 245 of file InterfaceMapDG.cpp.
References ASSERTL0, Nektar::NekConstants::kFindDistanceMin, m_checkLocal, m_foundLocalCoords, m_interface, m_mapMissingCoordToTrace, m_missingCoords, and m_trace.
void Nektar::MultiRegions::InterfaceTrace::FillLocalBwdTrace | ( | Array< OneD, NekDouble > & | Fwd, |
Array< OneD, NekDouble > & | Bwd | ||
) |
Fills the Bwd trace by interpolating from the Fwd for local interfaces.
Definition at line 472 of file InterfaceMapDG.cpp.
References m_checkLocal, m_foundLocalCoords, and m_trace.
void Nektar::MultiRegions::InterfaceTrace::FillRankBwdTrace | ( | Array< OneD, NekDouble > & | trace, |
Array< OneD, NekDouble > & | Bwd | ||
) |
Fills the Bwd trace from partitioned trace.
Definition at line 507 of file InterfaceMapDG.cpp.
References m_mapMissingCoordToTrace.
|
inline |
Returns the interface object.
Definition at line 74 of file InterfaceMapDG.h.
References m_interface.
|
inline |
Returns the missing coordinates vector.
Definition at line 68 of file InterfaceMapDG.h.
References m_missingCoords.
|
inline |
Definition at line 62 of file InterfaceMapDG.h.
References m_checkLocal.
|
private |
Flag whether the opposite side of the interface is present locally.
Definition at line 94 of file InterfaceMapDG.h.
Referenced by CalcLocalMissing(), FillLocalBwdTrace(), and SetCheckLocal().
|
private |
Map of found coordinates present locally.
Definition at line 98 of file InterfaceMapDG.h.
Referenced by CalcLocalMissing(), and FillLocalBwdTrace().
|
private |
Local interface object.
Definition at line 92 of file InterfaceMapDG.h.
Referenced by CalcLocalMissing(), and GetInterface().
|
private |
Vector of indices corresponding to m_missingCoord locations in trace.
Definition at line 100 of file InterfaceMapDG.h.
Referenced by CalcLocalMissing(), and FillRankBwdTrace().
Vector of coordinates on interface missing from the other side locally.
Definition at line 96 of file InterfaceMapDG.h.
Referenced by CalcLocalMissing(), and GetMissingCoords().
|
private |
Trace expansion list.
Definition at line 90 of file InterfaceMapDG.h.
Referenced by CalcLocalMissing(), and FillLocalBwdTrace().