Changeset 2001 for XIOS/dev/dev_ym/XIOS_COUPLING/src/transformation/algorithm_transformation_transfer.cpp
- Timestamp:
- 01/05/21 10:03:56 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_COUPLING/src/transformation/algorithm_transformation_transfer.cpp
r1999 r2001 8 8 { 9 9 10 void CAlgorithmTransformationTransfer::computeAlgorithm(CLocalView* srcView, CLocalView* dstView) 11 { 12 set<size_t> srcIndex ; 13 for(auto& it : transformationMapping_) srcIndex.insert(it.second) ; 14 15 CArray<size_t,1> srcArrayIndex(srcIndex.size()) ; 16 int i=0 ; 17 for(size_t index : srcIndex) { srcArrayIndex(i) = index ; i++ ;} 18 CLocalElement recvElement(CContext::getCurrent()->getIntraCommRank(), srcView->getGlobalSize(), srcArrayIndex) ; 19 recvElement.addFullView() ; 20 21 transformConnector_ = new CTransformConnector(srcView, recvElement.getView(CElementView::FULL), CContext::getCurrent()->getIntraComm()) ; 22 transformConnector_->computeConnector() ; 23 transferTransformConnector_ = new CTransferTransformConnector( recvElement.getView(CElementView::FULL), dstView, transformationMapping_) ; 10 void CAlgorithmTransformationTransfer::computeAlgorithm(CLocalView* srcView, CLocalView* dstView) 11 { 12 this->computeRecvElement(srcView, dstView) ; 13 transferTransformConnector_ = new CTransferTransformConnector( recvElement.getView(CElementView::FULL), dstView, transformationMapping_) ; 24 14 } 25 15 … … 27 17 void CAlgorithmTransformationTransfer::apply(int dimBefore, int dimAfter, const CArray<double,1>& dataIn, CArray<double,1>& dataOut) 28 18 { 29 CArray<double,1> dataOutTmp ; 30 transformConnector_->transfer(dimBefore, dimAfter, dataIn, dataOutTmp) ; 31 transferTransformConnector_ -> transfer(dimBefore, dimAfter, dataOutTmp, dataOut) ; 19 transferTransformConnector_ -> transfer(dimBefore, dimAfter, dataOutIn, dataOut) ; 32 20 } 33 21
Note: See TracChangeset
for help on using the changeset viewer.