33#ifndef NEKTAR_COUPLINGCWIPI 
   34#define NEKTAR_COUPLINGCWIPI 
   75        const int entities_dim, 
const int n_local_vertex,
 
   76        const int n_local_element, 
const int n_local_polhyedra,
 
   77        const int n_distant_point, 
const double local_coordinates[],
 
   78        const int local_connectivity_index[], 
const int local_connectivity[],
 
   79        const int local_polyhedra_face_index[],
 
   80        const int local_polyhedra_cell_to_face_connectivity[],
 
   81        const int local_polyhedra_face_connectivity_index[],
 
   82        const int local_polyhedra_face_connectivity[],
 
   83        const double distant_points_coordinates[],
 
   84        const int distant_points_location[],
 
   85        const float distant_points_distance[],
 
   86        const int distant_points_barycentric_coordinates_index[],
 
   87        const double distant_points_barycentric_coordinates[], 
const int stride,
 
   88        const cwipi_solver_type_t solver_type, 
const void *local_field,
 
  134        std::vector<std::string> &varNames) 
override;
 
  139        std::vector<std::string> &varNames) 
override;
 
  175    template <
typename T>
 
#define SOLVER_UTILS_EXPORT
 
A class that contains algorithms for interpolation between pts fields, expansions and different meshe...
 
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
 
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 std::string className
 
Array< OneD, Array< OneD, NekDouble > > m_oldFields
 
virtual SOLVER_UTILS_EXPORT void v_Receive(const int step, const NekDouble time, Array< OneD, Array< OneD, NekDouble > > &field, std::vector< std::string > &varNames) override
 
void AddElementsToMesh(T geom, int &coordsPos, int &connecPos, int &conidxPos)
 
Array< OneD, Array< OneD, NekDouble > > m_sendField
 
virtual SOLVER_UTILS_EXPORT ~CouplingCwipi()
 
SOLVER_UTILS_EXPORT CouplingCwipi(MultiRegions::ExpListSharedPtr field)
 
virtual SOLVER_UTILS_EXPORT void v_Init() override
 
void ExtrapolateFields(Array< OneD, Array< OneD, NekDouble > > &rVals, Array< OneD, int > ¬Loc)
 
std::shared_ptr< FieldUtils::Interpolator< std::vector< MultiRegions::ExpListSharedPtr > > > m_sendInterpolator
 
void EvaluateFields(Array< OneD, Array< OneD, NekDouble > > interpField, Array< OneD, Array< OneD, NekDouble > > distCoords)
 
virtual SOLVER_UTILS_EXPORT void v_Finalize() override
 
static CouplingSharedPtr create(MultiRegions::ExpListSharedPtr field)
Creates an instance of this class.
 
Array< OneD, Array< OneD, NekDouble > > m_newFields
 
void SetupSendInterpolation()
 
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) override
 
SOLVER_UTILS_EXPORT void SendCallback(Array< OneD, Array< OneD, NekDouble > > &interpField, Array< OneD, Array< OneD, NekDouble > > &distCoords)
 
SOLVER_UTILS_EXPORT NekDouble GetSendField(const int i, const int j) const
 
void ReadConfig(LibUtilities::SessionReaderSharedPtr session)
 
void ReceiveCwipi(const int step, const NekDouble time, Array< OneD, Array< OneD, NekDouble > > &field)
 
std::shared_ptr< FieldUtils::Interpolator< std::vector< MultiRegions::ExpListSharedPtr > > > m_extrapInterpolator
 
std::map< int, int > m_vertMap
 
void DumpRawFields(const NekDouble time, Array< OneD, Array< OneD, NekDouble > > rVals)
 
MultiRegions::ExpListSharedPtr m_recvField
 
std::shared_ptr< SessionReader > SessionReaderSharedPtr
 
std::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
 
static std::map< std::string, SendCallbackType > SendCallbackMap
 
SOLVER_UTILS_EXPORT typedef std::shared_ptr< Coupling > CouplingSharedPtr
 
std::function< void(Array< OneD, Array< OneD, NekDouble > > &interpField, Array< OneD, Array< OneD, NekDouble > > &distCoords)> SendCallbackType
 
The above copyright notice and this permission notice shall be included.