XIOS
1.0
Xml I/O Server
|
Duplicate scalar into axis destination. Plus de détails...
#include <axis_algorithm_duplicate_scalar.hpp>
Fonctions membres publiques | |
CAxisAlgorithmDuplicateScalar (CAxis *axisDestination, CScalar *scalarSource, CDuplicateScalarToAxis *algo) | |
virtual | ~CAxisAlgorithmDuplicateScalar () |
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 | 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 | computeIndexSourceMapping_ (const std::vector< CArray< double, 1 > * > &dataAuxInputs) |
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 |
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::CAxisAlgorithmTransformation | |
std::vector< int > | axisDestGlobalIndex_ |
Global index of an axis on grid destination. Plus de détails... | |
int | axisDestGlobalSize_ |
Size of. Plus de détails... | |
CAxis * | axisDest_ |
Axis on grid destination. Plus de détails... | |
CAxis * | axisSrc_ |
Axis on grid source. Plus de détails... | |
CDomain * | domainSrc_ |
Domain on grid source. Plus de détails... | |
CScalar * | scalarSrc_ |
Scalar 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_ |
Duplicate scalar into axis destination.
Définition à la ligne 26 du fichier axis_algorithm_duplicate_scalar.hpp.
CATCH xios::CAxisAlgorithmDuplicateScalar::CAxisAlgorithmDuplicateScalar | ( | CAxis * | axisDestination, |
CScalar * | scalarSource, | ||
CDuplicateScalarToAxis * | algo | ||
) |
Définition à la ligne 44 du fichier axis_algorithm_duplicate_scalar.cpp.
|
virtual |
Définition à la ligne 51 du fichier axis_algorithm_duplicate_scalar.cpp.
|
protectedvirtual |
Implémente xios::CGenericAlgorithmTransformation.
Définition à la ligne 55 du fichier axis_algorithm_duplicate_scalar.cpp.
Références xios::CAxisAlgorithmTransformation::axisDest_, xios::CGenericAlgorithmTransformation::transformationMapping_, xios::CGenericAlgorithmTransformation::transformationWeight_, xios::transMap, et xios::transWeight.
|
staticprivate |
Définition à la ligne 14 du fichier axis_algorithm_duplicate_scalar.cpp.
Référencé par registerTrans().
|
static |
Définition à la ligne 36 du fichier axis_algorithm_duplicate_scalar.cpp.
Références create(), xios::CGridTransformationFactory< T >::registerTransformation(), et xios::TRANS_DUPLICATE_SCALAR_TO_AXIS.
Référencé par xios::CGridTransformationSelector::registerTransformations().