source: XIOS/dev/dev_ym/XIOS_COUPLING/src/distribution/grid_remote_connector.hpp @ 1938

Last change on this file since 1938 was 1938, checked in by ymipsl, 4 years ago

XIOS Coupling branch : Solve spurious situation :

  • when client have no data on their local grid or local grid is 0 sized
  • when sever have no data on their local grid or local grid is 0 sized
  • holes in grid (missing global point) that cover a full client or a full server

YM

  • Property svn:executable set to *
File size: 861 bytes
Line 
1#ifndef __GRID_REMOTE_CONNECTOR_HPP__
2#define __GRID_REMOTE_CONNECTOR_HPP__
3
4#include "xios_spl.hpp"
5#include "array_new.hpp"
6#include "mpi.hpp"
7#include "local_view.hpp"
8#include "distributed_view.hpp"
9#include "context_client.hpp"
10
11
12namespace xios
13{
14 
15  class CGridRemoteConnector
16  {
17
18    public:
19
20      CGridRemoteConnector(vector<CLocalView*>& srcView, vector<CDistributedView*>& dstView, MPI_Comm localComm, int remoteSize) ;
21      void computeConnector(void) ;
22      void computeGenericMethod(void) ;
23      std::map<int, CArray<size_t,1>>& getDistributedGlobalIndex(int pos) { return elements_[pos] ;} 
24
25    private:
26      vector<map<int, CArray<size_t,1>>> elements_ ;
27      vector<CLocalView*> srcView_ ;
28      vector<CDistributedView*> dstView_ ;
29      MPI_Comm localComm_ ;
30      int remoteSize_ ;
31
32  } ;
33
34}
35
36#endif
Note: See TracBrowser for help on using the repository browser.