Nektar++
|
#include <CouplingCwipi.h>
Static Public Member Functions | |
static CouplingSharedPtr | create (MultiRegions::ExpListSharedPtr field) |
Creates an instance of this class. More... | |
static SOLVER_UTILS_EXPORT void | InterpCallback (const int entities_dim, const int n_local_vertex, const int n_local_element, const int n_local_polhyedra, const int n_distant_point, const double local_coordinates[], const int local_connectivity_index[], const int local_connectivity[], const int local_polyhedra_face_index[], const int local_polyhedra_cell_to_face_connectivity[], const int local_polyhedra_face_connectivity_index[], const int local_polyhedra_face_connectivity[], const double distant_points_coordinates[], const int distant_points_location[], const float distant_points_distance[], const int distant_points_barycentric_coordinates_index[], const double distant_points_barycentric_coordinates[], const int stride, const cwipi_solver_type_t solver_type, const void *local_field, void *distant_field) |
Static Public Attributes | |
static std::string | className |
Protected Member Functions | |
SOLVER_UTILS_EXPORT void | v_Init () override |
SOLVER_UTILS_EXPORT void | v_Send (const int step, const NekDouble time, const Array< OneD, const Array< OneD, NekDouble > > &field, std::vector< std::string > &varNames) override |
SOLVER_UTILS_EXPORT void | v_Receive (const int step, const NekDouble time, Array< OneD, Array< OneD, NekDouble > > &field, std::vector< std::string > &varNames) override |
SOLVER_UTILS_EXPORT void | v_Finalize () override |
SOLVER_UTILS_EXPORT NekDouble | GetSendField (const int i, const int j) const |
Protected Member Functions inherited from Nektar::SolverUtils::Coupling | |
SOLVER_UTILS_EXPORT | Coupling (MultiRegions::ExpListSharedPtr field) |
virtual SOLVER_UTILS_EXPORT void | v_Init () |
virtual SOLVER_UTILS_EXPORT void | v_Send (const int step, const NekDouble time, const Array< OneD, const Array< OneD, NekDouble > > &field, std::vector< std::string > &varNames)=0 |
virtual SOLVER_UTILS_EXPORT void | v_Receive (const int step, const NekDouble time, Array< OneD, Array< OneD, NekDouble > > &field, std::vector< std::string > &varNames)=0 |
virtual SOLVER_UTILS_EXPORT void | v_Finalize () |
SOLVER_UTILS_EXPORT std::vector< int > | GenerateVariableMapping (std::vector< std::string > &vars, std::vector< std::string > &transVars) |
Private Member Functions | |
void | ReadConfig (LibUtilities::SessionReaderSharedPtr session) |
void | SetupReceive () |
void | SetupSend () |
void | SendComplete () |
void | ReceiveStart () |
void | ReceiveCwipi (const int step, const NekDouble time, Array< OneD, Array< OneD, NekDouble > > &field) |
void | EvaluateFields (Array< OneD, Array< OneD, NekDouble > > interpField, Array< OneD, Array< OneD, NekDouble > > distCoords) |
void | SetupSendInterpolation () |
void | AnnounceMesh () |
void | DumpRawFields (const NekDouble time, Array< OneD, Array< OneD, NekDouble > > rVals) |
void | ExtrapolateFields (Array< OneD, Array< OneD, NekDouble > > &rVals, Array< OneD, int > ¬Loc) |
template<typename T > | |
void | AddElementsToMesh (T geom, int &coordsPos, int &connecPos, int &conidxPos) |
Additional Inherited Members | |
Public Types inherited from Nektar::SolverUtils::Coupling | |
typedef std::map< std::string, std::string > | CouplingConfigMap |
Definition at line 49 of file CouplingCwipi.h.
Nektar::SolverUtils::CouplingCwipi::CouplingCwipi | ( | MultiRegions::ExpListSharedPtr | field | ) |
Definition at line 107 of file CouplingCwipi.cpp.
References Nektar::SolverUtils::Coupling::m_config.
|
override |
Definition at line 214 of file CouplingCwipi.cpp.
References m_connec, m_connecIdx, m_coords, m_points, m_rValsInterl, and m_sValsInterl.
|
private |
Definition at line 496 of file CouplingCwipi.cpp.
References m_connec, m_connecIdx, m_coords, and m_vertMap.
Referenced by AnnounceMesh().
|
private |
Definition at line 410 of file CouplingCwipi.cpp.
References AddElementsToMesh(), ASSERTL1, m_connec, m_connecIdx, m_coords, Nektar::SolverUtils::Coupling::m_couplingName, Nektar::SolverUtils::Coupling::m_evalField, and m_spacedim.
Referenced by v_Init().
|
inlinestatic |
Creates an instance of this class.
Definition at line 56 of file CouplingCwipi.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::SolverUtils::CouplingSharedPtr, FilterPython_Function::field, and CellMLToNektar.cellml_metadata::p.
|
private |
Definition at line 1020 of file CouplingCwipi.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), CellMLToNektar.pycml::format, Nektar::SolverUtils::Coupling::m_config, Nektar::SolverUtils::Coupling::m_evalField, Nektar::SolverUtils::Coupling::m_nRecvVars, m_recvField, Nektar::SolverUtils::Coupling::m_recvFieldNames, m_spacedim, Nektar::LibUtilities::Timer::Start(), Nektar::LibUtilities::Timer::Stop(), Nektar::LibUtilities::Timer::TimePerTest(), and Nektar::LibUtilities::CsvIO::Write().
Referenced by ReceiveCwipi().
|
private |
Definition at line 321 of file CouplingCwipi.cpp.
References ASSERTL0, Nektar::NekConstants::kNekZeroTol, Nektar::SolverUtils::Coupling::m_evalField, Nektar::SolverUtils::Coupling::m_nSendVars, m_sendField, and m_spacedim.
Referenced by SendCallback().
|
private |
Definition at line 894 of file CouplingCwipi.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::LibUtilities::eNearestNeighbour, Nektar::SolverUtils::Coupling::m_evalField, m_extrapInterpolator, m_nPoints, Nektar::SolverUtils::Coupling::m_nRecvVars, m_recvField, m_spacedim, Nektar::LibUtilities::Timer::Start(), Nektar::LibUtilities::Timer::Stop(), Nektar::LibUtilities::Timer::TimePerTest(), and Vmath::Zero().
Referenced by ReceiveCwipi().
|
inlineprotected |
Definition at line 141 of file CouplingCwipi.h.
References m_sendField.
|
static |
Definition at line 60 of file CouplingCwipi.cpp.
References ASSERTL0, and Nektar::SolverUtils::SendCallbackMap.
Referenced by SetupSend().
|
private |
Definition at line 224 of file CouplingCwipi.cpp.
References ASSERTL0, Nektar::SolverUtils::Coupling::m_config, and m_filtWidth.
Referenced by v_Init().
|
private |
Definition at line 717 of file CouplingCwipi.cpp.
References ASSERTL1, DumpRawFields(), Nektar::StdRegions::eFactorLambda, Nektar::StdRegions::eVarCoeffVelX, Nektar::StdRegions::eVarCoeffVelY, Nektar::StdRegions::eVarCoeffVelZ, ExtrapolateFields(), Nektar::VarcoeffHashingTest::factors, FilterPython_Function::field, Nektar::SolverUtils::Coupling::m_config, Nektar::SolverUtils::Coupling::m_couplingName, Nektar::SolverUtils::Coupling::m_evalField, m_filtWidth, m_lastReceive, m_nPoints, Nektar::SolverUtils::Coupling::m_nRecvVars, m_recvField, Nektar::SolverUtils::Coupling::m_recvFieldNames, m_recvHandle, Nektar::SolverUtils::Coupling::m_recvSteps, m_rValsInterl, m_spacedim, Nektar::MultiRegions::NullVarFactorsMap, ReceiveStart(), Nektar::LibUtilities::ReduceMax, Vmath::Smul(), Nektar::LibUtilities::Timer::Start(), Nektar::LibUtilities::Timer::Stop(), and Nektar::LibUtilities::Timer::TimePerTest().
Referenced by v_Receive().
|
private |
Definition at line 642 of file CouplingCwipi.cpp.
References Nektar::SolverUtils::Coupling::m_couplingName, Nektar::SolverUtils::Coupling::m_evalField, Nektar::SolverUtils::Coupling::m_nRecvVars, m_recvHandle, m_recvTag, m_rValsInterl, Nektar::LibUtilities::Timer::Start(), Nektar::LibUtilities::Timer::Stop(), and Nektar::LibUtilities::Timer::TimePerTest().
Referenced by ReceiveCwipi(), and v_Init().
void Nektar::SolverUtils::CouplingCwipi::SendCallback | ( | Array< OneD, Array< OneD, NekDouble > > & | interpField, |
Array< OneD, Array< OneD, NekDouble > > & | distCoords | ||
) |
Definition at line 538 of file CouplingCwipi.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, EvaluateFields(), Nektar::SolverUtils::Coupling::m_config, Nektar::SolverUtils::Coupling::m_nSendVars, m_sendField, m_sendInterpolator, and SetupSendInterpolation().
Referenced by SetupSend().
|
private |
Definition at line 620 of file CouplingCwipi.cpp.
References Nektar::SolverUtils::Coupling::m_couplingName, Nektar::SolverUtils::Coupling::m_evalField, m_sendHandle, Nektar::LibUtilities::Timer::Start(), Nektar::LibUtilities::Timer::Stop(), and Nektar::LibUtilities::Timer::TimePerTest().
Referenced by v_Send().
|
private |
Definition at line 237 of file CouplingCwipi.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL1, Nektar::SolverUtils::Coupling::m_config, Nektar::SolverUtils::Coupling::m_couplingName, Nektar::SolverUtils::Coupling::m_evalField, m_newFields, m_nPoints, Nektar::SolverUtils::Coupling::m_nRecvVars, m_oldFields, m_points, m_recvField, m_rValsInterl, m_spacedim, and Nektar::SpatialDomains::MeshGraphIO::Read().
Referenced by v_Init().
|
private |
Definition at line 298 of file CouplingCwipi.cpp.
References ASSERTL1, InterpCallback(), Nektar::SolverUtils::Coupling::m_couplingName, Nektar::SolverUtils::Coupling::m_evalField, Nektar::SolverUtils::Coupling::m_nSendVars, m_spacedim, m_sValsInterl, SendCallback(), and Nektar::SolverUtils::SendCallbackMap.
Referenced by v_Init().
|
private |
Definition at line 372 of file CouplingCwipi.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::LibUtilities::eNearestNeighbour, Nektar::LibUtilities::eShepard, Nektar::SolverUtils::Coupling::m_config, Nektar::SolverUtils::Coupling::m_couplingName, Nektar::SolverUtils::Coupling::m_evalField, and m_sendInterpolator.
Referenced by SendCallback().
Reimplemented from Nektar::SolverUtils::Coupling.
Definition at line 490 of file CouplingCwipi.cpp.
References Nektar::SolverUtils::Coupling::m_couplingName.
|
overrideprotectedvirtual |
Reimplemented from Nektar::SolverUtils::Coupling.
Definition at line 124 of file CouplingCwipi.cpp.
References AnnounceMesh(), ASSERTL0, Nektar::SolverUtils::Coupling::m_config, Nektar::SolverUtils::Coupling::m_couplingName, Nektar::SolverUtils::Coupling::m_evalField, m_filtWidth, Nektar::SolverUtils::Coupling::m_nRecvVars, Nektar::SolverUtils::Coupling::m_nSendVars, Nektar::SolverUtils::Coupling::m_recvSteps, m_recvTag, Nektar::SolverUtils::Coupling::m_sendSteps, m_sendTag, m_spacedim, OUTPUT_FREQ, ReadConfig(), ReceiveStart(), SetupReceive(), SetupSend(), and Nektar::SolverUtils::Coupling::v_Init().
|
overrideprotectedvirtual |
Implements Nektar::SolverUtils::Coupling.
Definition at line 667 of file CouplingCwipi.cpp.
References ASSERTL1, FilterPython_Function::field, Nektar::SolverUtils::Coupling::GenerateVariableMapping(), Nektar::SolverUtils::Coupling::m_evalField, m_lastReceive, m_newFields, Nektar::SolverUtils::Coupling::m_nRecvVars, m_oldFields, Nektar::SolverUtils::Coupling::m_recvFieldNames, Nektar::SolverUtils::Coupling::m_recvSteps, ReceiveCwipi(), Vmath::Svtsvtp(), and Vmath::Vcopy().
|
overrideprotectedvirtual |
Implements Nektar::SolverUtils::Coupling.
Definition at line 571 of file CouplingCwipi.cpp.
References FilterPython_Function::field, Nektar::SolverUtils::Coupling::GenerateVariableMapping(), Nektar::SolverUtils::Coupling::m_couplingName, Nektar::SolverUtils::Coupling::m_evalField, m_lastSend, Nektar::SolverUtils::Coupling::m_nSendVars, m_sendField, Nektar::SolverUtils::Coupling::m_sendFieldNames, m_sendHandle, Nektar::SolverUtils::Coupling::m_sendSteps, m_sendTag, m_sValsInterl, SendComplete(), Nektar::LibUtilities::Timer::Start(), Nektar::LibUtilities::Timer::Stop(), and Nektar::LibUtilities::Timer::TimePerTest().
|
static |
Definition at line 53 of file CouplingCwipi.h.
|
protected |
Definition at line 113 of file CouplingCwipi.h.
Referenced by AddElementsToMesh(), AnnounceMesh(), and ~CouplingCwipi().
|
protected |
Definition at line 112 of file CouplingCwipi.h.
Referenced by AddElementsToMesh(), AnnounceMesh(), and ~CouplingCwipi().
|
protected |
Definition at line 111 of file CouplingCwipi.h.
Referenced by AddElementsToMesh(), AnnounceMesh(), and ~CouplingCwipi().
|
protected |
Definition at line 125 of file CouplingCwipi.h.
Referenced by ExtrapolateFields().
|
protected |
Definition at line 90 of file CouplingCwipi.h.
Referenced by ReadConfig(), ReceiveCwipi(), and v_Init().
|
protected |
Definition at line 106 of file CouplingCwipi.h.
Referenced by ReceiveCwipi(), and v_Receive().
|
protected |
Definition at line 105 of file CouplingCwipi.h.
Referenced by v_Send().
Definition at line 97 of file CouplingCwipi.h.
Referenced by SetupReceive(), and v_Receive().
|
protected |
Definition at line 109 of file CouplingCwipi.h.
Referenced by ExtrapolateFields(), ReceiveCwipi(), and SetupReceive().
Definition at line 96 of file CouplingCwipi.h.
Referenced by SetupReceive(), and v_Receive().
|
protected |
Definition at line 110 of file CouplingCwipi.h.
Referenced by SetupReceive(), and ~CouplingCwipi().
|
protected |
Definition at line 94 of file CouplingCwipi.h.
Referenced by DumpRawFields(), ExtrapolateFields(), ReceiveCwipi(), and SetupReceive().
|
protected |
Definition at line 100 of file CouplingCwipi.h.
Referenced by ReceiveCwipi(), and ReceiveStart().
|
protected |
Definition at line 103 of file CouplingCwipi.h.
Referenced by ReceiveStart(), and v_Init().
|
protected |
Definition at line 114 of file CouplingCwipi.h.
Referenced by ReceiveCwipi(), ReceiveStart(), SetupReceive(), and ~CouplingCwipi().
Definition at line 92 of file CouplingCwipi.h.
Referenced by EvaluateFields(), GetSendField(), SendCallback(), and v_Send().
|
protected |
Definition at line 99 of file CouplingCwipi.h.
Referenced by SendComplete(), and v_Send().
|
protected |
Definition at line 121 of file CouplingCwipi.h.
Referenced by SendCallback(), and SetupSendInterpolation().
|
protected |
Definition at line 102 of file CouplingCwipi.h.
|
protected |
Definition at line 108 of file CouplingCwipi.h.
Referenced by AnnounceMesh(), DumpRawFields(), EvaluateFields(), ExtrapolateFields(), ReceiveCwipi(), SetupReceive(), SetupSend(), and v_Init().
|
protected |
Definition at line 115 of file CouplingCwipi.h.
Referenced by SetupSend(), v_Send(), and ~CouplingCwipi().
|
protected |
Definition at line 117 of file CouplingCwipi.h.
Referenced by AddElementsToMesh().