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/generic_algorithm_transformation.hpp

    r668 r827  
    3232                                std::map<size_t, std::vector<std::pair<size_t,double> > >& globaIndexWeightFromDestToSource); 
    3333 
     34  std::vector<StdString> getIdAuxInputs(); 
     35 
    3436  /*! 
    3537  Compute global index mapping from one element of destination grid to the corresponding element of source grid 
    3638  */ 
    37   virtual void computeIndexSourceMapping() = 0; 
     39  void computeIndexSourceMapping(const std::vector<CArray<double,1>* >& dataAuxInputs = std::vector<CArray<double,1>* >()); 
    3840 
    3941protected: 
     
    5052  virtual void computeGlobalGridIndexFromGlobalIndexElement(int destGlobalIndex, 
    5153                                                        const std::vector<int>& srcGlobalIndex, 
     54                                                        const std::vector<int>& destGlobalIndexPositionInGrid, 
    5255                                                        int elementPositionInGrid, 
    5356                                                        const std::vector<int>& gridDestGlobalDim, 
     
    5760                                                        std::vector<std::vector<size_t> >& globalIndexSrcGrid) = 0; 
    5861 
    59  
     62  virtual void computeIndexSourceMapping_(const std::vector<CArray<double,1>* >&) = 0; 
    6063 
    6164protected: 
    62   std::map<int, std::vector<int> > transformationMapping_; 
    63   std::map<int, std::vector<double> > transformationWeight_; 
     65  //! Map between global index of destination element and source element 
     66  std::vector<std::map<int, std::vector<int> > > transformationMapping_; 
     67  //! Weight corresponding of source to destination 
     68  std::vector<std::map<int, std::vector<double> > > transformationWeight_; 
     69  //! Map of global index of destination element and corresponding global index of other elements in the same grid 
     70  //! By default, one index of an element corresponds to all index of remaining element in the grid. So it's empty 
     71  std::vector<std::map<int, std::vector<int> > > transformationPosition_; 
     72 
     73  //! Id of auxillary inputs which help doing transformation dynamically 
     74  std::vector<StdString> idAuxInputs_; 
    6475}; 
    6576 
Note: See TracChangeset for help on using the changeset viewer.