#include <OverlapInterpolationMatrix.hxx>

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 |
| ParaMEDMEM.OverlapInterpolationMatrix::OverlapInterpolationMatrix | ( | ParaFIELD * | source_field, |
| ParaFIELD * | target_field, | ||
| const ProcessorGroup & | group, | ||
| const DECOptions & | dec_opt, | ||
| const InterpolationOptions & | i_opt | ||
| ) |
| ParaMEDMEM.OverlapInterpolationMatrix::~OverlapInterpolationMatrix | ( | ) | [virtual] |
| 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 | ||
| ) |
References ParaMEDMEM.OverlapInterpolationMatrix._source_support, ParaMEDMEM.RefCountObject.decrRef(), ParaMEDMEM.OverlapInterpolationMatrix.fillDistributedMatrix(), INTERP_KERNEL.Interpolation< TrueMainInterpolator >.fromIntegralUniform(), INTERP_KERNEL.InterpolationOptions.getMeasureAbsStatus(), ParaMEDMEM.MEDCouplingMesh.getMeasureField(), ParaMEDMEM.MEDCouplingUMesh.getMeshDimension(), ParaMEDMEM.MEDCouplingMesh.getMeshDimension(), ParaMEDMEM.MEDCouplingPointSet.getSpaceDimension(), INTERP_KERNEL.Interpolation3D.interpolateMeshes(), INTERP_KERNEL.InterpolationPlanar< RealPlanar >.interpolateMeshes(), INTERP_KERNEL.InterpolationCurve< RealCurve >.interpolateMeshes(), ParaMEDMEM.OverlapInterpolationMatrix.isSurfaceComputationNeeded(), MEDCouplingNormalizedUnstructuredMesh< SPACEDIM, MESHDIM >.releaseTempArrays(), and INTERP_KERNEL.Interpolation< TrueMainInterpolator >.toIntegralUniform().
| 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 | ( | ) |
References ParaMEDMEM.OverlapInterpolationMatrix._mapping, ParaMEDMEM.OverlapInterpolationMatrix._target_field, ParaMEDMEM.OverlapMapping.computeDenoConservativeVolumic(), ParaMEDMEM.ConservativeVolumic, ParaMEDMEM.ParaFIELD.getField(), ParaMEDMEM.MEDCouplingField.getNature(), and ParaMEDMEM.MEDCouplingField.getNumberOfTuplesExpected().
| 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().
std::vector<int> ParaMEDMEM.OverlapInterpolationMatrix._row_offsets [private] |
std::map<std::pair<int,int>, int > ParaMEDMEM.OverlapInterpolationMatrix._col_offsets [private] |
const ProcessorGroup& ParaMEDMEM.OverlapInterpolationMatrix._group [private] |
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] |
std::vector<std::vector<double> > ParaMEDMEM.OverlapInterpolationMatrix._deno_reverse_multiply [private] |