Ignore:
Timestamp:
01/03/21 18:00:43 (3 years ago)
Author:
ymipsl
Message:

Adapt transformation algorithm to new infrastructure (on going...)

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/transformation/generic_algorithm_transformation.cpp

    r1988 r1999  
    11431143/////////////////////////////////////////////////////////////// 
    11441144 
     1145CGridAlgorithm* CGenericAlgorithmTransformation::createGridAlgorithm(CGrid* gridSrc, CGrid* gridDst, int pos) 
     1146{ 
     1147  return new CGridAlgorithm(gridSrc, gridDst, pos, this) ; 
     1148} 
    11451149 
    11461150 
    11471151void CGenericAlgorithmTransformation::computeAlgorithm(CLocalView* srcView, CLocalView* dstView) 
     1152{ 
     1153  
     1154  this->computeRecvElement(srcView, dstView) ; 
     1155/* 
     1156  transformConnector_ = new CTransformConnector(srcView, recvElement.getView(CElementView::FULL), CContext::getCurrent()->getIntraComm())  ; 
     1157  transformConnector_->computeConnector() ;  
     1158*/ 
     1159  weightTransformConnector_ = new  CWeightTransformConnector(recvElement_->getView(CElementView::FULL), dstView, transformationMapping_[0], transformationWeight_[0]) ;  
     1160} 
     1161  
     1162void CGenericAlgorithmTransformation::computeRecvElement(CLocalView* srcView, CLocalView* dstView) 
    11481163{ 
    11491164  auto& srcMap = transformationMapping_[0] ; 
     
    11551170  int i=0 ; 
    11561171  for(size_t index : srcIndex) { srcArrayIndex(i) = index ; i++ ;} 
    1157   CLocalElement recvElement(CContext::getCurrent()->getIntraCommRank(), srcView->getGlobalSize(), srcArrayIndex) ; 
    1158   recvElement.addFullView() ; 
    1159  
    1160   transformConnector_ = new CTransformConnector(srcView, recvElement.getView(CElementView::FULL), CContext::getCurrent()->getIntraComm())  ; 
    1161   transformConnector_->computeConnector() ; 
    1162   weightTransformConnector_ = new  CWeightTransformConnector( recvElement.getView(CElementView::FULL), dstView, transformationMapping_[0], transformationWeight_[0]) ;  
    1163 } 
    1164   
     1172  recvElement_ = new CLocalElement(CContext::getCurrent()->getIntraCommRank(), srcView->getGlobalSize(), srcArrayIndex) ; 
     1173  recvElement_->addFullView() ; 
     1174} 
    11651175 
    11661176void CGenericAlgorithmTransformation::apply(int dimBefore, int dimAfter, const CArray<double,1>& dataIn, CArray<double,1>& dataOut) 
    11671177{ 
    1168   CArray<double,1> dataOutTmp ; 
    1169   transformConnector_->transfer(dimBefore, dimAfter, dataIn, dataOutTmp) ; 
    1170   weightTransformConnector_ -> transfer(dimBefore, dimAfter, dataOutTmp, dataOut) ; 
    1171 } 
    1172  
    1173  
    1174  
    1175  
    1176  
    1177  
    1178 } 
     1178  //CArray<double,1> dataOutTmp ; 
     1179  //transformConnector_->transfer(dimBefore, dimAfter, dataIn, dataOutTmp) ; 
     1180  weightTransformConnector_ -> transfer(dimBefore, dimAfter, dataIn, dataOut) ; 
     1181} 
     1182 
     1183} 
Note: See TracChangeset for help on using the changeset viewer.