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::CDomainAlgorithmTransformation

Algorithms for domain. Plus de détails...

#include <domain_algorithm_transformation.hpp>

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

Fonctions membres publiques

 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 protégées

void computeIndexSourceMapping_ (const std::vector< CArray< double, 1 > * > &)
 
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)
 

Attributs protégés

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_
 

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
 

Description détaillée

Algorithms for domain.

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

Documentation des constructeurs et destructeur

xios::CDomainAlgorithmTransformation::CDomainAlgorithmTransformation ( CDomain domainDestination,
CDomain domainSource 
)

Définition à la ligne 17 du fichier domain_algorithm_transformation.cpp.

xios::CDomainAlgorithmTransformation::~CDomainAlgorithmTransformation ( )
virtual

Définition à la ligne 22 du fichier domain_algorithm_transformation.cpp.

Documentation des fonctions membres

void xios::CDomainAlgorithmTransformation::computeExchangeGlobalIndex ( const CArray< size_t, 1 > &  globalDomainIndex,
int  elementType,
CClientClientDHTInt::Index2VectorInfoTypeMap globalDomainIndexOnProc 
)
protectedvirtual

Compute global index of domain on different processes.

Paramètres
[in]globalDomainIndexglobal index of domain source
[out]globalDomainIndexOnProcprocesses which contain the corresponding global index of domain source

Implémente xios::CGenericAlgorithmTransformation.

Définition à la ligne 35 du fichier domain_algorithm_transformation.cpp.

Références xios::CContext::client, xios::CContextClient::clientRank, xios::CContextClient::clientSize, xios::CClientClientDHTTemplate< T, HierarchyPolicy >::computeIndexInfoMapping(), xios::CContext::getCurrent(), xios::CClientClientDHTTemplate< T, HierarchyPolicy >::getInfoIndexMap(), et xios::CContextClient::intraComm.

+ Voici le graphe d'appel pour cette fonction :

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

Implémente xios::CGenericAlgorithmTransformation.

Réimplémentée dans xios::CDomainAlgorithmZoom.

Définition à la ligne 26 du fichier domain_algorithm_transformation.cpp.

Documentation des données membres

CDomain* xios::CDomainAlgorithmTransformation::domainDest_
protected
CDomain* xios::CDomainAlgorithmTransformation::domainSrc_
protected

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