XIOS
1.0
Xml I/O Server
|
Algorithms for domain. Plus de détails...
#include <domain_algorithm_transformation.hpp>
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< StdString > | getIdAuxInputs () |
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) |
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 |
Algorithms for domain.
Définition à la ligne 22 du fichier domain_algorithm_transformation.hpp.
xios::CDomainAlgorithmTransformation::CDomainAlgorithmTransformation | ( | CDomain * | domainDestination, |
CDomain * | domainSource | ||
) |
Définition à la ligne 17 du fichier domain_algorithm_transformation.cpp.
|
virtual |
Définition à la ligne 22 du fichier domain_algorithm_transformation.cpp.
|
protectedvirtual |
Compute global index of domain on different processes.
[in] | globalDomainIndex | global index of domain source |
[out] | globalDomainIndexOnProc | processes 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.
|
protectedvirtual |
Implémente xios::CGenericAlgorithmTransformation.
Réimplémentée dans xios::CDomainAlgorithmZoom.
Définition à la ligne 26 du fichier domain_algorithm_transformation.cpp.
|
protected |
Domain on grid destination.
Définition à la ligne 38 du fichier domain_algorithm_transformation.hpp.
Référencé par xios::CDomainAlgorithmInterpolate::computeRemap(), xios::CDomainAlgorithmInterpolate::exchangeRemapInfo(), xios::if(), et xios::CDomainAlgorithmInterpolate::writeInterpolationInfo().
|
protected |
Domain on grid source.
Définition à la ligne 41 du fichier domain_algorithm_transformation.hpp.
Référencé par xios::CDomainAlgorithmInterpolate::computeRemap(), et xios::CDomainAlgorithmInterpolate::writeInterpolationInfo().