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

Extract a domain to an axis. Plus de détails...

#include <axis_algorithm_extract_domain.hpp>

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

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< 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 ()
 

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)
 

Attributs protégés

ExtractDirection dir_
 
int pos_
 
CReductionAlgorithmreduction_
 
- 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_
 

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
 

Description détaillée

Extract a domain to an axis.

Définition à la ligne 27 du fichier axis_algorithm_extract_domain.hpp.

Documentation des énumérations membres

Valeurs énumérées
undefined 
iDir 
jDir 

Définition à la ligne 42 du fichier axis_algorithm_extract_domain.hpp.

Documentation des constructeurs et destructeur

xios::CAxisAlgorithmExtractDomain::CAxisAlgorithmExtractDomain ( CAxis axisDestination,
CDomain domainSource,
CExtractDomainToAxis algo 
)
CATCH xios::CAxisAlgorithmExtractDomain::~CAxisAlgorithmExtractDomain ( )
virtual

Définition à la ligne 84 du fichier axis_algorithm_extract_domain.cpp.

Références reduction_.

Documentation des fonctions membres

CATCH void xios::CAxisAlgorithmExtractDomain::apply ( const std::vector< std::pair< int, double > > &  localIndex,
const double *  dataInput,
CArray< double, 1 > &  dataOut,
std::vector< bool > &  flagInitial,
bool  ignoreMissingValue,
bool  firstPass 
)
virtual

Apply a operation on local data.

Paramètres
[in]localIndexvector contains local index of local data output and the corresponding weight
[in]dataInputPointer 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]ignoreMissingValuedon't count missing value in operation if this flag is true
[in]firstPassindicate 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_.

CATCH void xios::CAxisAlgorithmExtractDomain::computeIndexSourceMapping_ ( const std::vector< CArray< double, 1 > * > &  dataAuxInputs)
protectedvirtual
CGenericAlgorithmTransformation * xios::CAxisAlgorithmExtractDomain::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 18 du fichier axis_algorithm_extract_domain.cpp.

Référencé par registerTrans().

+ Voici le graphe des appelants de cette fonction :

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

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

Documentation des données membres

ExtractDirection xios::CAxisAlgorithmExtractDomain::dir_
protected

Définition à la ligne 48 du fichier axis_algorithm_extract_domain.hpp.

Référencé par computeIndexSourceMapping_(), et xios::switch().

int xios::CAxisAlgorithmExtractDomain::pos_
protected

Définition à la ligne 49 du fichier axis_algorithm_extract_domain.hpp.

Référencé par computeIndexSourceMapping_().

CReductionAlgorithm* xios::CAxisAlgorithmExtractDomain::reduction_
protected

Définition à la ligne 54 du fichier axis_algorithm_extract_domain.hpp.

Référencé par ~CAxisAlgorithmExtractDomain().


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