XIOS  1.0
Xml I/O Server
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Amis Macros
Référence de la classe xios::CDomainAlgorithmZoom

Implementing zoom (alternative zoom) on domain. Plus de détails...

#include <domain_algorithm_zoom.hpp>

+ Graphe d'héritage de xios::CDomainAlgorithmZoom:
+ Graphe de collaboration de xios::CDomainAlgorithmZoom:

Fonctions membres publiques

 CDomainAlgorithmZoom (CDomain *domainDestination, CDomain *domainSource, CZoomDomain *zoomDomain)
 
virtual ~CDomainAlgorithmZoom ()
 
- Fonctions membres publiques inherited from xios::CDomainAlgorithmTransformation
 CDomainAlgorithmTransformation (CDomain *domainDestination, CDomain *domainSource)
 
virtual ~CDomainAlgorithmTransformation ()
 
- Fonctions membres publiques inherited from xios::CGenericAlgorithmTransformation
 CGenericAlgorithmTransformation ()
 
virtual ~CGenericAlgorithmTransformation ()
 
bool isDistributedTransformation (int elementPositionInGrid, CGrid *gridSrc, CGrid *gridDst)
 
void computeGlobalSourceIndex (int elementPositionInGrid, CGrid *gridSrc, CGrid *gridDst, SourceDestinationIndexMap &globaIndexWeightFromSrcToDst)
 This function computes the global indexes of grid source, which the grid destination is in demand. Plus de détails...
 
virtual void apply (const std::vector< std::pair< int, double > > &localIndex, const double *dataInput, CArray< double, 1 > &dataOut, std::vector< bool > &flagInitial, bool ignoreMissingValue, bool firstPass)
 Apply a operation on local data. Plus de détails...
 
virtual void updateData (CArray< double, 1 > &dataOut)
 Update whole dataOut (on necessary). Plus de détails...
 
std::vector< StdStringgetIdAuxInputs ()
 
AlgoTransType type ()
 
void computeIndexSourceMapping (const std::vector< CArray< double, 1 > * > &dataAuxInputs=std::vector< CArray< double, 1 > * >())
 Compute global index mapping from one element of destination grid to the corresponding element of source grid. Plus de détails...
 
void computeTransformationMappingNonDistributed (int elementPositionInGrid, CGrid *gridSrc, CGrid *gridDst, vector< int > &localSrc, vector< int > &localDst, vector< double > &weight, int &nbLocalIndexOnGridDest)
 
void nonDistributedrecursiveFunct (int currentPos, bool masked, int elementPositionInGrid, vector< CArray< bool, 1 > * > &maskSrc, vector< CArray< bool, 1 > * > &maskDst, int &srcInd, int &srcIndCompressed, vector< int > &nIndexSrc, int &t, vector< vector< vector< pair< int, double > > > > &dstIndWeight, int currentInd, vector< int > &localSrc, vector< int > &localDst, vector< double > &weight)
 

Fonctions membres publiques statiques

static bool registerTrans ()
 

Fonctions membres protégées

void updateDomainAttributes ()
 
void computeIndexSourceMapping_ (const std::vector< CArray< double, 1 > * > &dataAuxInputs)
 Compute the index mapping between domain on grid source and one on grid destination. Plus de détails...
 
- Fonctions membres protégées inherited from xios::CDomainAlgorithmTransformation
virtual void computeExchangeGlobalIndex (const CArray< size_t, 1 > &globalDomainIndex, int elementType, CClientClientDHTInt::Index2VectorInfoTypeMap &globalDomainIndexOnProc)
 Compute global index of domain on different processes. Plus de détails...
 
- Fonctions membres protégées inherited from xios::CGenericAlgorithmTransformation
void computeGlobalGridIndexMapping (int elementPositionInGrid, const std::vector< int > &srcRank, std::unordered_map< int, std::vector< std::pair< int, double > > > &src2DstMap, CGrid *gridDst, CGrid *gridSrc, std::vector< std::unordered_map< int, std::vector< size_t > > > &globalElementIndexOnProc, SourceDestinationIndexMap &globaIndexWeightFromSrcToDst)
 Compute mapping of global index of grid source and grid destination. Plus de détails...
 
void computeExchangeDomainIndex (CDomain *domainDst, CDomain *domainSrc, CArray< size_t, 1 > &destGlobalIndexPositionInGrid, std::unordered_map< int, std::vector< size_t > > &globalDomainIndexOnProc)
 Find out proc and global index of domain source which domain destination is on demande. Plus de détails...
 
void computeExchangeAxisIndex (CAxis *axisDst, CAxis *axisSrc, CArray< size_t, 1 > &destGlobalIndexPositionInGrid, std::unordered_map< int, std::vector< size_t > > &globalAxisIndexOnProc)
 Find out proc and global index of axis source which axis destination is on demande. Plus de détails...
 
void computeExchangeScalarIndex (CScalar *scalarDst, CScalar *scalarSrc, CArray< size_t, 1 > &destGlobalIndexPositionInGrid, std::unordered_map< int, std::vector< size_t > > &globalScalarIndexOnProc)
 Find out proc and global index of axis source which axis destination is on demande. Plus de détails...
 
void computePositionElements (CGrid *dst, CGrid *src)
 

Fonctions membres privées

void updateZoom ()
 

Fonctions membres privées statiques

static
CGenericAlgorithmTransformation
create (CGrid *gridDst, CGrid *gridSrc, CTransformation< CDomain > *transformation, int elementPositionInGrid, std::map< int, int > &elementPositionInGridSrc2ScalarPosition, std::map< int, int > &elementPositionInGridSrc2AxisPosition, std::map< int, int > &elementPositionInGridSrc2DomainPosition, std::map< int, int > &elementPositionInGridDst2ScalarPosition, std::map< int, int > &elementPositionInGridDst2AxisPosition, std::map< int, int > &elementPositionInGridDst2DomainPosition)
 

Attributs privés

int zoomIBegin_
 Global zoom begin on domain. Plus de détails...
 
int zoomJBegin_
 
int zoomIEnd_
 Global zoom end on domain. Plus de détails...
 
int zoomJEnd_
 
int zoomNi_
 Global zoom size on domain. Plus de détails...
 
int zoomNj_
 

Additional Inherited Members

- Types publics inherited from xios::CGenericAlgorithmTransformation
enum  AlgoTransType {
  ELEMENT_GENERATION = 0, ELEMENT_MODIFICATION_WITHOUT_DATA = 1, ELEMENT_MODIFICATION_WITH_DATA = 2, ELEMENT_NO_MODIFICATION_WITH_DATA = 3,
  ELEMENT_NO_MODIFICATION_WITHOUT_DATA = 4
}
 
typedef std::unordered_map
< int, std::unordered_map
< size_t, std::vector
< std::pair< size_t, double > > > > 
SourceDestinationIndexMap
 
- Types protégés inherited from xios::CGenericAlgorithmTransformation
typedef std::unordered_map
< size_t, int > 
GlobalLocalMap
 
typedef std::unordered_map
< int, std::vector< int > > 
TransformationIndexMap
 
typedef std::unordered_map
< int, std::vector< double > > 
TransformationWeightMap
 
typedef std::unordered_map
< int, std::vector< int > > 
TransformationPositionMap
 
- Attributs protégés inherited from xios::CDomainAlgorithmTransformation
CDomaindomainDest_
 Domain on grid destination. Plus de détails...
 
CDomaindomainSrc_
 Domain on grid source. Plus de détails...
 
- Attributs protégés inherited from xios::CGenericAlgorithmTransformation
bool isDistributed_
 indicate if the transformation is performed on a distributed element Plus de détails...
 
bool isDistributedComputed_
 indicate if the method isDistributedTransformation has been called before Plus de détails...
 
std::vector
< TransformationIndexMap
transformationMapping_
 Map between global index of destination element and source element. Plus de détails...
 
std::vector
< TransformationWeightMap
transformationWeight_
 Weight corresponding of source to destination. Plus de détails...
 
std::vector
< TransformationPositionMap
transformationPosition_
 
std::vector< StdStringidAuxInputs_
 Id of auxillary inputs which helps doing transformation dynamically. Plus de détails...
 
AlgoTransType type_
 
std::set< StdSizeindexElementSrc_
 
std::vector
< std::unordered_map< int,
std::vector< size_t > > > 
globalElementIndexOnProc_
 
std::vector< int > procContainSrcElementIdx_
 
std::set< int > commonProc_
 
std::vector< set< int > > procElementList_
 
CClientClientDHTInt::Index2VectorInfoTypeMap globalIndexOfTransformedElementOnProc_
 
bool computedProcSrcNonTransformedElement_
 
std::map< int, int > elementPositionInGridSrc2AxisPosition_
 
std::map< int, int > elementPositionInGridSrc2DomainPosition_
 
std::map< int, int > elementPositionInGridSrc2ScalarPosition_
 
std::map< int, int > elementPositionInGridDst2AxisPosition_
 
std::map< int, int > elementPositionInGridDst2DomainPosition_
 
std::map< int, int > elementPositionInGridDst2ScalarPosition_
 
bool eliminateRedondantSrc_
 

Description détaillée

Implementing zoom (alternative zoom) on domain.

Définition à la ligne 17 du fichier domain_algorithm_zoom.hpp.

Documentation des constructeurs et destructeur

xios::CDomainAlgorithmZoom::CDomainAlgorithmZoom ( CDomain domainDestination,
CDomain domainSource,
CZoomDomain zoomDomain 
)
virtual xios::CDomainAlgorithmZoom::~CDomainAlgorithmZoom ( )
inlinevirtual

Définition à la ligne 22 du fichier domain_algorithm_zoom.hpp.

Documentation des fonctions membres

CATCH void xios::CDomainAlgorithmZoom::computeIndexSourceMapping_ ( const std::vector< CArray< double, 1 > * > &  dataAuxInputs)
protectedvirtual

Compute the index mapping between domain on grid source and one on grid destination.

Réimplémentée à partir de xios::CDomainAlgorithmTransformation.

Définition à la ligne 281 du fichier domain_algorithm_zoom.cpp.

CGenericAlgorithmTransformation * xios::CDomainAlgorithmZoom::create ( CGrid gridDst,
CGrid gridSrc,
CTransformation< CDomain > *  transformation,
int  elementPositionInGrid,
std::map< int, int > &  elementPositionInGridSrc2ScalarPosition,
std::map< int, int > &  elementPositionInGridSrc2AxisPosition,
std::map< int, int > &  elementPositionInGridSrc2DomainPosition,
std::map< int, int > &  elementPositionInGridDst2ScalarPosition,
std::map< int, int > &  elementPositionInGridDst2AxisPosition,
std::map< int, int > &  elementPositionInGridDst2DomainPosition 
)
staticprivate

Définition à la ligne 9 du fichier domain_algorithm_zoom.cpp.

Référencé par registerTrans().

+ Voici le graphe des appelants de cette fonction :

CATCH bool xios::CDomainAlgorithmZoom::registerTrans ( )
static

Définition à la ligne 31 du fichier domain_algorithm_zoom.cpp.

Références create(), xios::CGridTransformationFactory< T >::registerTransformation(), et xios::TRANS_ZOOM_DOMAIN.

Référencé par xios::CGridTransformationSelector::registerTransformations().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CDomainAlgorithmZoom::updateDomainAttributes ( )
protected
void xios::CDomainAlgorithmZoom::updateZoom ( )
private

Documentation des données membres

int xios::CDomainAlgorithmZoom::zoomIBegin_
private

Global zoom begin on domain.

Définition à la ligne 34 du fichier domain_algorithm_zoom.hpp.

int xios::CDomainAlgorithmZoom::zoomIEnd_
private

Global zoom end on domain.

Définition à la ligne 38 du fichier domain_algorithm_zoom.hpp.

int xios::CDomainAlgorithmZoom::zoomJBegin_
private

Définition à la ligne 35 du fichier domain_algorithm_zoom.hpp.

int xios::CDomainAlgorithmZoom::zoomJEnd_
private

Définition à la ligne 39 du fichier domain_algorithm_zoom.hpp.

int xios::CDomainAlgorithmZoom::zoomNi_
private

Global zoom size on domain.

Définition à la ligne 42 du fichier domain_algorithm_zoom.hpp.

int xios::CDomainAlgorithmZoom::zoomNj_
private

Définition à la ligne 43 du fichier domain_algorithm_zoom.hpp.


La documentation de cette classe a été générée à partir des fichiers suivants :