source: XIOS/dev/dev_olga/src/transformation/domain_algorithm_transformation.hpp @ 1620

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
15namespace xios {
16
17class CDomain;
18/*!
19  \class CDomainAlgorithmTransformation
20  Algorithms for domain.
21*/
22class CDomainAlgorithmTransformation : public virtual CGenericAlgorithmTransformation
23{
24public:
25  CDomainAlgorithmTransformation(CDomain* domainDestination, CDomain* domainSource);
26
27  virtual ~CDomainAlgorithmTransformation();
28
29protected:
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
36protected:
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.