- Timestamp:
- 06/09/16 11:32:27 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/transformation/generic_algorithm_transformation.hpp
r843 r862 15 15 16 16 namespace xios { 17 class CGrid; 18 class CDomain; 19 class CAxis; 20 17 21 /*! 18 22 \class CGenericAlgorithmTransformation … … 27 31 // Mapping between global index map of DESTINATION and its local index with pair of global index of SOURCE and weights 28 32 typedef boost::unordered_map<size_t, DestinationGlobalIndex> DestinationIndexMap; 33 // 34 typedef boost::unordered_map<int, boost::unordered_map<size_t, std::vector<std::pair<size_t,double> > > > SourceDestinationIndexMap; 29 35 30 36 protected: 31 37 typedef boost::unordered_map<size_t,int> GlobalLocalMap; 38 protected: 39 typedef boost::unordered_map<int, std::vector<int> > TransformationIndexMap; 40 typedef boost::unordered_map<int, std::vector<double> > TransformationWeightMap; 41 typedef boost::unordered_map<int, std::vector<int> > TransformationPositionMap; 32 42 33 43 public: … … 36 46 virtual ~CGenericAlgorithmTransformation() {} 37 47 48 // void computeGlobalSourceIndex(int elementPositionInGrid, 49 // const std::vector<int>& gridDestGlobalDim, 50 // const std::vector<int>& gridSrcGlobalDim, 51 // const GlobalLocalMap& globalLocalIndexGridDestSendToServer, 52 // DestinationIndexMap& globaIndexWeightFromDestToSource); 53 38 54 void computeGlobalSourceIndex(int elementPositionInGrid, 39 const std::vector<int>& gridDestGlobalDim, 40 const std::vector<int>& gridSrcGlobalDim, 41 const GlobalLocalMap& globalLocalIndexGridDestSendToServer, 42 DestinationIndexMap& globaIndexWeightFromDestToSource); 55 CGrid* gridSrc, 56 CGrid* gridDst, 57 SourceDestinationIndexMap& globaIndexWeightFromSrcToDst); 43 58 44 59 std::vector<StdString> getIdAuxInputs(); … … 72 87 virtual void computeIndexSourceMapping_(const std::vector<CArray<double,1>* >&) = 0; 73 88 89 virtual void computeExchangeGlobalIndex(const CArray<size_t,1>& globalElementIndex, 90 boost::unordered_map<int,std::vector<size_t> >& globalElementIndexOnProc) = 0; 91 92 void computeGlobalGridIndexMapping(int elementPositionInGrid, 93 const std::vector<int>& srcRank, 94 boost::unordered_map<int, std::vector<std::pair<int,double> > >& src2DstMap, 95 CGrid* gridDst, 96 CGrid* gridSrc, 97 std::vector<boost::unordered_map<int,std::vector<size_t> > >& globalElementIndexOnProc, 98 SourceDestinationIndexMap& globaIndexWeightFromSrcToDst); 99 100 void computeExchangeDomainIndex(CDomain* domainDst, 101 CDomain* domainSrc, 102 CArray<size_t,1>& destGlobalIndexPositionInGrid, 103 boost::unordered_map<int,std::vector<size_t> >& globalDomainIndexOnProc); 104 105 void computeExchangeAxisIndex(CAxis* axisDst, 106 CAxis* axisSrc, 107 CArray<size_t,1>& destGlobalIndexPositionInGrid, 108 boost::unordered_map<int,std::vector<size_t> >& globalAxisIndexOnProc); 109 74 110 protected: 75 typedef boost::unordered_map<int, std::vector<int> > TransformationIndexMap;76 typedef boost::unordered_map<int, std::vector<double> > TransformationWeightMap;77 typedef boost::unordered_map<int, std::vector<int> > TransformationPositionMap;78 79 111 //! Map between global index of destination element and source element 80 112 std::vector<TransformationIndexMap> transformationMapping_;
Note: See TracChangeset
for help on using the changeset viewer.