Last change
on this file since 934 was
934,
checked in by mhnguyen, 4 years ago

Adding new transformation: Compute_connectivity_domain
Test
+) On Curie
+) Test passes

File size:
1.5 KB

Line  

1  /*! 

2  \file axis_algorithm_transformation.hpp 

3  \author Ha NGUYEN 

4  \since 14 May 2015 

5  \date 29 June 2015 

6  

7  \brief Interface for all axis transformation algorithms. 

8  */ 

9  #ifndef __XIOS_AXIS_ALGORITHM_TRANSFORMATION_HPP__ 

10  #define __XIOS_AXIS_ALGORITHM_TRANSFORMATION_HPP__ 

11  

12  #include "generic_algorithm_transformation.hpp" 

13  #include "grid_transformation_factory_impl.hpp" 

14  

15  namespace xios { 

16  

17  class CAxis; 

18  class CDomain; 

19  

20  /*! 

21  \class CAxisAlgorithmTransformation 

22  Algorithms for axis. 

23  */ 

24  class CAxisAlgorithmTransformation : public virtual CGenericAlgorithmTransformation 

25  { 

26  public: 

27  CAxisAlgorithmTransformation(CAxis* axisDestination, CAxis* axisSource); 

28  CAxisAlgorithmTransformation(CAxis* axisDestination, CDomain* domainSource); 

29  

30  virtual ~CAxisAlgorithmTransformation(); 

31  

32  protected: 

33  void computeIndexSourceMapping_(const std::vector<CArray<double,1>* >& dataAuxInputs); 

34  

35  virtual void computeExchangeGlobalIndex(const CArray<size_t,1>& globalAxisIndex, 

36  int elementType, 

37  CClientClientDHTInt::Index2VectorInfoTypeMap& globalDomainIndexOnProc); 

38  

39  protected: 

40  //! Global index of an axis on grid destination 

41  std::vector<int> axisDestGlobalIndex_; 

42  

43  //! Size of 

44  int axisDestGlobalSize_; 

45  

46  //! Axis on grid destination 

47  CAxis* axisDest_; 

48  

49  //! Axis on grid source 

50  CAxis* axisSrc_; 

51  

52  //! Domain on grid source 

53  CDomain* domainSrc_; 

54  }; 

55  

56  } 

57  #endif // __XIOS_AXIS_ALGORITHM_TRANSFORMATION_HPP__ 

Note: See
TracBrowser
for help on using the repository browser.