source: XIOS3/trunk/src/transformation/domain_algorithm/domain_algorithm_redistribute.hpp @ 2507

Last change on this file since 2507 was 2507, checked in by ymipsl, 13 months ago

Merging XIOS3_ATTACHED branch into XIOS3 trunk.

YM

  • Property svn:executable set to *
File size: 1.9 KB
Line 
1/*!
2   \brief Algorithm for redistributing domain.
3 */
4#ifndef __XIOS_DOMAIN_ALGORITHM_REDISTRIBUTE_HPP__
5#define __XIOS_DOMAIN_ALGORITHM_REDISTRIBUTE_HPP__
6
7#include "algorithm_transformation_transfer.hpp"
8#include "transformation.hpp"
9
10namespace xios
11{
12
13  class CDomain;
14  class CRedistributeDomain;
15
16  /*!
17    \class CDomainAlgorithmReorder
18    Redistribute data on domain
19  */
20  class CDomainAlgorithmRedistribute : public CAlgorithmTransformationTransfer 
21  {
22    public:
23      CDomainAlgorithmRedistribute(bool isSource, CDomain* domainDestination, CDomain* domainSource, CRedistributeDomain* redistributeDomain);
24
25      virtual ~CDomainAlgorithmRedistribute() {}
26
27      static bool registerTrans();
28      virtual StdString getAlgoName() {return "\\nredistribute_domain";}
29
30 
31    public:
32      static shared_ptr<CGenericAlgorithmTransformation> create(bool isSource, CGrid* gridDst, CGrid* gridSrc,
33                                                     CTransformation<CDomain>* transformation,
34                                                     int elementPositionInGrid,
35                                                     std::map<int, int>& elementPositionInGridSrc2ScalarPosition,
36                                                     std::map<int, int>& elementPositionInGridSrc2AxisPosition,
37                                                     std::map<int, int>& elementPositionInGridSrc2DomainPosition,
38                                                     std::map<int, int>& elementPositionInGridDst2ScalarPosition,
39                                                     std::map<int, int>& elementPositionInGridDst2AxisPosition,
40                                                     std::map<int, int>& elementPositionInGridDst2DomainPosition);
41      static bool dummyRegistered_;
42};
43
44}
45#endif // __XIOS_DOMAIN_ALGORITHM_REDISTRIBUTE_HPP__
Note: See TracBrowser for help on using the repository browser.