XIOS
1.0
Xml I/O Server
|
Extract a domain to an axis. Plus de détails...
#include <axis_algorithm_extract_domain.hpp>
Fonctions membres publiques | |
CAxisAlgorithmExtractDomain (CAxis *axisDestination, CDomain *domainSource, CExtractDomainToAxis *algo) | |
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 | ~CAxisAlgorithmExtractDomain () |
Fonctions membres publiques inherited from xios::CAxisAlgorithmTransformation | |
CAxisAlgorithmTransformation (CAxis *axisDestination, CAxis *axisSource) | |
CAxisAlgorithmTransformation (CAxis *axisDestination, CDomain *domainSource) | |
CAxisAlgorithmTransformation (CAxis *axisDestination, CScalar *scalarSource) | |
virtual | ~CAxisAlgorithmTransformation () |
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 | 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 () |
Types protégés | |
enum | ExtractDirection { undefined = 0, iDir = 1, jDir = 2 } |
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 |
Fonctions membres protégées | |
void | computeIndexSourceMapping_ (const std::vector< CArray< double, 1 > * > &dataAuxInputs) |
Position to extract. Plus de détails... | |
Fonctions membres protégées inherited from xios::CAxisAlgorithmTransformation | |
void | computeIndexSourceMapping_ (const std::vector< CArray< double, 1 > * > &dataAuxInputs) |
virtual void | computeExchangeGlobalIndex (const CArray< size_t, 1 > &globalAxisIndex, int elementType, CClientClientDHTInt::Index2VectorInfoTypeMap &globalDomainIndexOnProc) |
Compute global index of axis 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 statiques | |
static CGenericAlgorithmTransformation * | create (CGrid *gridDst, CGrid *gridSrc, CTransformation< CAxis > *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) |
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 |
Extract a domain to an axis.
Définition à la ligne 27 du fichier axis_algorithm_extract_domain.hpp.
|
protected |
Valeurs énumérées | |
---|---|
undefined | |
iDir | |
jDir |
Définition à la ligne 42 du fichier axis_algorithm_extract_domain.hpp.
xios::CAxisAlgorithmExtractDomain::CAxisAlgorithmExtractDomain | ( | CAxis * | axisDestination, |
CDomain * | domainSource, | ||
CExtractDomainToAxis * | algo | ||
) |
|
virtual |
Définition à la ligne 84 du fichier axis_algorithm_extract_domain.cpp.
Références reduction_.
|
virtual |
Apply a operation on local data.
[in] | localIndex | vector contains local index of local data output and the corresponding weight |
[in] | dataInput | Pointer to the first element of data input array (in form of buffer) |
[in/out] | dataOut Array contains local data | |
[in/out] | flagInitial vector of boolean to mark the local index already initialized. True means there is a need for initalization | |
[in] | ignoreMissingValue | don't count missing value in operation if this flag is true |
[in] | firstPass | indicate if it is the first time the apply funtion is called for a same transformation, in order to make a clean initialization |
Réimplémentée à partir de xios::CGenericAlgorithmTransformation.
Définition à la ligne 73 du fichier axis_algorithm_extract_domain.cpp.
Références xios::reduction_.
|
protectedvirtual |
Position to extract.
Implémente xios::CGenericAlgorithmTransformation.
Définition à la ligne 91 du fichier axis_algorithm_extract_domain.cpp.
Références xios::CAxisAlgorithmTransformation::axisDest_, dir_, xios::CAxisAlgorithmTransformation::domainSrc_, iDir, jDir, xios::nj_glo, pos_, xios::CGenericAlgorithmTransformation::transformationMapping_, xios::CGenericAlgorithmTransformation::transformationWeight_, xios::transMap, et xios::transWeight.
|
staticprivate |
Définition à la ligne 18 du fichier axis_algorithm_extract_domain.cpp.
Référencé par registerTrans().
|
static |
Définition à la ligne 41 du fichier axis_algorithm_extract_domain.cpp.
Références create(), xios::CGridTransformationFactory< T >::registerTransformation(), et xios::TRANS_EXTRACT_DOMAIN_TO_AXIS.
Référencé par xios::CGridTransformationSelector::registerTransformations().
|
protected |
Définition à la ligne 48 du fichier axis_algorithm_extract_domain.hpp.
Référencé par computeIndexSourceMapping_(), et xios::switch().
|
protected |
Définition à la ligne 49 du fichier axis_algorithm_extract_domain.hpp.
Référencé par computeIndexSourceMapping_().
|
protected |
Définition à la ligne 54 du fichier axis_algorithm_extract_domain.hpp.
Référencé par ~CAxisAlgorithmExtractDomain().