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 (SpatialDomains::MovementSharedPtr movement) |
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... | |
void | DomainCheck (Array< OneD, NekDouble > &gloCoord, SpatialDomains::MovementSharedPtr movement) |
Check whether the coordiniates in the original domain. 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 49 of file InterfaceMapDG.h.
Nektar::MultiRegions::InterfaceTrace::InterfaceTrace | ( | const ExpListSharedPtr & | trace, |
const SpatialDomains::InterfaceShPtr & | interfaceShPtr | ||
) |
Constructor.
Definition at line 41 of file InterfaceMapDG.cpp.
|
virtualdefault |
Default destructor.
void Nektar::MultiRegions::InterfaceTrace::CalcLocalMissing | ( | SpatialDomains::MovementSharedPtr | movement | ) |
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 262 of file InterfaceMapDG.cpp.
References ASSERTL0, DomainCheck(), Nektar::NekConstants::kFindDistanceMin, m_checkLocal, m_foundLocalCoords, m_interface, m_mapMissingCoordToTrace, m_missingCoords, and m_trace.
void Nektar::MultiRegions::InterfaceTrace::DomainCheck | ( | Array< OneD, NekDouble > & | gloCoord, |
SpatialDomains::MovementSharedPtr | movement | ||
) |
Check whether the coordiniates in the original domain.
Definition at line 690 of file InterfaceMapDG.cpp.
References m_interface.
Referenced by CalcLocalMissing().
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 531 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 566 of file InterfaceMapDG.cpp.
References m_mapMissingCoordToTrace.
|
inline |
Returns the interface object.
Definition at line 72 of file InterfaceMapDG.h.
References m_interface.
|
inline |
Returns the missing coordinates vector.
Definition at line 66 of file InterfaceMapDG.h.
References m_missingCoords.
|
inline |
Definition at line 60 of file InterfaceMapDG.h.
References m_checkLocal.
|
private |
Flag whether the opposite side of the interface is present locally.
Definition at line 95 of file InterfaceMapDG.h.
Referenced by CalcLocalMissing(), FillLocalBwdTrace(), and SetCheckLocal().
|
private |
Map of found coordinates present locally.
Definition at line 99 of file InterfaceMapDG.h.
Referenced by CalcLocalMissing(), and FillLocalBwdTrace().
|
private |
Local interface object.
Definition at line 93 of file InterfaceMapDG.h.
Referenced by CalcLocalMissing(), DomainCheck(), and GetInterface().
|
private |
Vector of indices corresponding to m_missingCoord locations in trace.
Definition at line 101 of file InterfaceMapDG.h.
Referenced by CalcLocalMissing(), and FillRankBwdTrace().
Vector of coordinates on interface missing from the other side locally.
Definition at line 97 of file InterfaceMapDG.h.
Referenced by CalcLocalMissing(), and GetMissingCoords().
|
private |
Trace expansion list.
Definition at line 91 of file InterfaceMapDG.h.
Referenced by CalcLocalMissing(), and FillLocalBwdTrace().