Version: 6.3.1
Public Member Functions | Private Member Functions | Private Attributes

ParaMEDMEM.OverlapInterpolationMatrix Class Reference

#include <OverlapInterpolationMatrix.hxx>

Inheritance diagram for ParaMEDMEM.OverlapInterpolationMatrix:
Inheritance graph

Public Member Functions

 OverlapInterpolationMatrix (ParaFIELD *source_field, ParaFIELD *target_field, const ProcessorGroup &group, const DECOptions &dec_opt, const InterpolationOptions &i_opt)
void keepTracksOfSourceIds (int procId, DataArrayInt *ids)
void keepTracksOfTargetIds (int procId, DataArrayInt *ids)
void addContribution (const MEDCouplingPointSet *src, const DataArrayInt *srcIds, const std::string &srcMeth, int srcProcId, const MEDCouplingPointSet *trg, const DataArrayInt *trgIds, const std::string &trgMeth, int trgProcId)
void prepare (const std::vector< std::vector< int > > &procsInInteraction)
void computeDeno ()
void multiply ()
void transposeMultiply ()
virtual ~OverlapInterpolationMatrix ()

Private Member Functions

bool isSurfaceComputationNeeded (const std::string &method) const
void fillDistributedMatrix (const std::vector< std::map< int, double > > &res, const DataArrayInt *srcIds, int srcProc, const DataArrayInt *trgIds, int trgProc)

Private Attributes

ParaMEDMEM::ParaFIELD_source_field
ParaMEDMEM::ParaFIELD_target_field
std::vector< int_row_offsets
std::map< std::pair< int, int >
, int
_col_offsets
MEDCouplingPointSet_source_support
MEDCouplingPointSet_target_support
OverlapMapping _mapping
const ProcessorGroup_group
std::vector< std::vector
< double > > 
_target_volume
std::vector< std::vector
< std::pair< int, double > > > 
_coeffs
std::vector< std::vector
< double > > 
_deno_multiply
std::vector< std::vector
< double > > 
_deno_reverse_multiply

Constructor & Destructor Documentation

ParaMEDMEM.OverlapInterpolationMatrix::OverlapInterpolationMatrix ( ParaFIELD source_field,
ParaFIELD target_field,
const ProcessorGroup group,
const DECOptions dec_opt,
const InterpolationOptions &  i_opt 
)
ParaMEDMEM.OverlapInterpolationMatrix::~OverlapInterpolationMatrix ( ) [virtual]

Member Function Documentation

void ParaMEDMEM.OverlapInterpolationMatrix::keepTracksOfSourceIds ( int  procId,
DataArrayInt ids 
)
void ParaMEDMEM.OverlapInterpolationMatrix::keepTracksOfTargetIds ( int  procId,
DataArrayInt ids 
)
void ParaMEDMEM.OverlapInterpolationMatrix::addContribution ( const MEDCouplingPointSet src,
const DataArrayInt srcIds,
const std::string &  srcMeth,
int  srcProcId,
const MEDCouplingPointSet trg,
const DataArrayInt trgIds,
const std::string &  trgMeth,
int  trgProcId 
)
void ParaMEDMEM.OverlapInterpolationMatrix::prepare ( const std::vector< std::vector< int > > &  procsInInteraction)

'procsInInteraction' gives the global view of interaction between procs. In 'procsInInteraction' for a proc with id i, is in interaction with procs listed in procsInInteraction[i]

References ParaMEDMEM.OverlapInterpolationMatrix._mapping, ParaMEDMEM.OverlapInterpolationMatrix._source_support, ParaMEDMEM.OverlapInterpolationMatrix._target_field, ParaMEDMEM.ParaFIELD.getField(), ParaMEDMEM.MEDCouplingField.getNumberOfTuplesExpected(), and ParaMEDMEM.OverlapMapping.prepare().

void ParaMEDMEM.OverlapInterpolationMatrix::computeDeno ( )
void ParaMEDMEM.OverlapInterpolationMatrix::multiply ( )
void ParaMEDMEM.OverlapInterpolationMatrix::transposeMultiply ( )
bool ParaMEDMEM.OverlapInterpolationMatrix::isSurfaceComputationNeeded ( const std::string &  method) const [private]
void ParaMEDMEM.OverlapInterpolationMatrix::fillDistributedMatrix ( const std::vector< std::map< int, double > > &  res,
const DataArrayInt srcIds,
int  srcProc,
const DataArrayInt trgIds,
int  trgProc 
) [private]

res rows refers to target and column (first param of map) to source.

References ParaMEDMEM.OverlapInterpolationMatrix._mapping, and ParaMEDMEM.OverlapMapping.addContributionST().


Field Documentation

std::vector< std::vector<double> > ParaMEDMEM.OverlapInterpolationMatrix._target_volume [private]
std::vector<std::vector<std::pair<int,double> > > ParaMEDMEM.OverlapInterpolationMatrix._coeffs [private]
std::vector<std::vector<double> > ParaMEDMEM.OverlapInterpolationMatrix._deno_multiply [private]
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS