Ignore:
Timestamp:
03/23/16 16:10:45 (8 years ago)
Author:
mhnguyen
Message:

Implementing dynamic interpolation on axis

+) Change grid transformation to make it more flexible
+) Make some small improvements

Test
+) On Curie
+) All test pass

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/transformation/axis_algorithm_interpolate.hpp

    r630 r827  
    2727  virtual ~CAxisAlgorithmInterpolate() {} 
    2828 
    29   virtual void computeIndexSourceMapping(); 
     29protected: 
     30  void computeIndexSourceMapping_(const std::vector<CArray<double,1>* >& dataAuxInputs); 
    3031 
    3132private: 
    32   void retrieveAllAxisValue(std::vector<double>& recvBuff, std::vector<int>& indexVec); 
    33   void computeInterpolantPoint(const std::vector<double>& recvBuff, const std::vector<int>& indexVec); 
    34   void computeWeightedValueAndMapping(const std::map<int, std::vector<std::pair<int,double> > >& interpolatingIndexValues); 
     33  void retrieveAllAxisValue(const CArray<double,1>& axisValue, const CArray<bool,1>& axisMask, 
     34                            std::vector<double>& recvBuff, std::vector<int>& indexVec); 
     35  void computeInterpolantPoint(const std::vector<double>& recvBuff, const std::vector<int>& indexVec, int transPos = 0); 
     36  void computeWeightedValueAndMapping(const std::map<int, std::vector<std::pair<int,double> > >& interpolatingIndexValues, int transPos = 0); 
     37  void fillInAxisValue(std::vector<CArray<double,1> >& vecAxisValue, 
     38                       const std::vector<CArray<double,1>* >& dataAuxInputs); 
    3539 
    3640private: 
    3741  // Interpolation order 
    3842  int order_; 
     43  StdString coordinate_; 
     44  std::vector<std::vector<int> > transPosition_; 
    3945}; 
    4046 
Note: See TracChangeset for help on using the changeset viewer.