source: XIOS/trunk/src/transformation/domain_algorithm_generate_rectilinear.hpp @ 687

Last change on this file since 687 was 687, checked in by mhnguyen, 9 years ago

Implementing auto-generate rectilinear domain

+) Add a new special transformation to generate (complete) rectilinear domain

Test
+) On Curie
+) test_new_feature passed

File size: 1.3 KB
Line 
1/*!
2   \file domain_algorithm_generate_rectilinear.hpp
3   \author Ha NGUYEN
4   \since 31 Aug 2015
5   \date 01 Sep 2015
6
7   \brief Algorithm for automatic generation of rectilinear domain.
8 */
9#ifndef __XIOS_DOMAIN_ALGORITHM_GENERATE_RECTILINEAR_HPP__
10#define __XIOS_DOMAIN_ALGORITHM_GENERATE_RECTILINEAR_HPP__
11
12#include "domain_algorithm_transformation.hpp"
13
14namespace xios {
15
16class CGrid;
17class CDomain;
18class CGenerateRectilinearDomain;
19
20/*!
21  \class CDomainAlgorithmGenerateRectilinear
22  Generate a rectilinear domain and fill in necessary its attributes automatically
23  A new rectilinear domain will also be distributed automatically among the processes.
24  The number of processes is deduced from the distribution of the grid source.
25*/
26class CDomainAlgorithmGenerateRectilinear : public CDomainAlgorithmTransformation
27{
28public:
29  CDomainAlgorithmGenerateRectilinear(CDomain* domainDestination, CDomain* domainSource, CGrid* gridSource, CGenerateRectilinearDomain* zoomDomain);
30
31  virtual ~CDomainAlgorithmGenerateRectilinear() {}
32
33  virtual void computeIndexSourceMapping();
34
35private:
36  void computeDistributionGridSource();
37  void fillInAttributesDomainDestination();
38
39private:
40  CGrid* gridSrc_;
41  int nbDomainDistributedPart_; //! Number of local domain.
42
43};
44
45}
46#endif // __XIOS_DOMAIN_ALGORITHM_GENERATE_RECTILINEAR_HPP__
Note: See TracBrowser for help on using the repository browser.