XIOS
1.0
Xml I/O Server
|
Implementing zoom (alternative zoom) on domain. Plus de détails...
#include <domain_algorithm_zoom.hpp>
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< 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 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 | |
CDomain * | domainDest_ |
Domain on grid destination. Plus de détails... | |
CDomain * | domainSrc_ |
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< StdString > | idAuxInputs_ |
Id of auxillary inputs which helps doing transformation dynamically. Plus de détails... | |
AlgoTransType | type_ |
std::set< StdSize > | indexElementSrc_ |
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_ |
Implementing zoom (alternative zoom) on domain.
Définition à la ligne 17 du fichier domain_algorithm_zoom.hpp.
xios::CDomainAlgorithmZoom::CDomainAlgorithmZoom | ( | CDomain * | domainDestination, |
CDomain * | domainSource, | ||
CZoomDomain * | zoomDomain | ||
) |
|
inlinevirtual |
Définition à la ligne 22 du fichier domain_algorithm_zoom.hpp.
|
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.
|
staticprivate |
Définition à la ligne 9 du fichier domain_algorithm_zoom.cpp.
Référencé par 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().
|
protected |
|
private |
|
private |
Global zoom begin on domain.
Définition à la ligne 34 du fichier domain_algorithm_zoom.hpp.
|
private |
Global zoom end on domain.
Définition à la ligne 38 du fichier domain_algorithm_zoom.hpp.
|
private |
Définition à la ligne 35 du fichier domain_algorithm_zoom.hpp.
|
private |
Définition à la ligne 39 du fichier domain_algorithm_zoom.hpp.
|
private |
Global zoom size on domain.
Définition à la ligne 42 du fichier domain_algorithm_zoom.hpp.
|
private |
Définition à la ligne 43 du fichier domain_algorithm_zoom.hpp.