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

Adding new transformation for scalar: Reducing an axis to a scalar
+) Add new xml node for new transformation
+) Add new algorithms for axis reduction
+) Make change in some place to make sure everything work fine
Test
+) On Curie
+) Tests pass and are correct

File size:
1.2 KB

Line  

1  /*! 

2  \file domain_algorithm_transformation.hpp 

3  \author Ha NGUYEN 

4  \since 02 Jul 2015 

5  \date 02 Jul 2015 

6  

7  \brief Interface for all domain transformation algorithms. 

8  */ 

9  #ifndef __XIOS_DOMAIN_ALGORITHM_TRANSFORMATION_HPP__ 

10  #define __XIOS_DOMAIN_ALGORITHM_TRANSFORMATION_HPP__ 

11  

12  #include "generic_algorithm_transformation.hpp" 

13  #include "client_client_dht_template.hpp" 

14  

15  namespace xios { 

16  

17  class CDomain; 

18  /*! 

19  \class CDomainAlgorithmTransformation 

20  Algorithms for domain. 

21  */ 

22  class CDomainAlgorithmTransformation : public virtual CGenericAlgorithmTransformation 

23  { 

24  public: 

25  CDomainAlgorithmTransformation(CDomain* domainDestination, CDomain* domainSource); 

26  

27  virtual ~CDomainAlgorithmTransformation(); 

28  

29  protected: 

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

31  

32  virtual void computeExchangeGlobalIndex(const CArray<size_t,1>& globalDomainIndex, 

33  int elementType, 

34  CClientClientDHTInt::Index2VectorInfoTypeMap& globalDomainIndexOnProc); 

35  

36  protected: 

37  //! Domain on grid destination 

38  CDomain* domainDest_; 

39  

40  //! Domain on grid source 

41  CDomain* domainSrc_; 

42  }; 

43  

44  } 

45  #endif // __XIOS_DOMAIN_ALGORITHM_TRANSFORMATION_HPP__ 

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