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

Duplicate scalar into axis destination. Plus de détails...

#include <axis_algorithm_duplicate_scalar.hpp>

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

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< 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 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...
 
CAxisaxisDest_
 Axis on grid destination. Plus de détails...
 
CAxisaxisSrc_
 Axis on grid source. Plus de détails...
 
CDomaindomainSrc_
 Domain on grid source. Plus de détails...
 
CScalarscalarSrc_
 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< 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_
 

Description détaillée

Duplicate scalar into axis destination.

Définition à la ligne 26 du fichier axis_algorithm_duplicate_scalar.hpp.

Documentation des constructeurs et destructeur

CATCH xios::CAxisAlgorithmDuplicateScalar::CAxisAlgorithmDuplicateScalar ( CAxis axisDestination,
CScalar scalarSource,
CDuplicateScalarToAxis algo 
)

Définition à la ligne 44 du fichier axis_algorithm_duplicate_scalar.cpp.

xios::CAxisAlgorithmDuplicateScalar::~CAxisAlgorithmDuplicateScalar ( )
virtual

Définition à la ligne 51 du fichier axis_algorithm_duplicate_scalar.cpp.

Documentation des fonctions membres

void xios::CAxisAlgorithmDuplicateScalar::computeIndexSourceMapping_ ( const std::vector< CArray< double, 1 > * > &  dataAuxInputs)
protectedvirtual
CGenericAlgorithmTransformation * xios::CAxisAlgorithmDuplicateScalar::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 
)
staticprivate

Définition à la ligne 14 du fichier axis_algorithm_duplicate_scalar.cpp.

Référencé par registerTrans().

+ Voici le graphe des appelants de cette fonction :

CATCH bool xios::CAxisAlgorithmDuplicateScalar::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().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :


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