36 #ifndef FINECOARSEMESHPAIR_HPP_ 37 #define FINECOARSEMESHPAIR_HPP_ 39 #include "AbstractTetrahedralMesh.hpp" 40 #include "DistributedBoxCollection.hpp" 41 #include "QuadraturePointsGroup.hpp" 42 #include "GaussianQuadratureRule.hpp" 43 #include "Warnings.hpp" 44 #include "CommandLineArguments.hpp" 52 template<
unsigned DIM>
105 template <
unsigned DIM>
108 friend class TestFineCoarseMeshPair;
181 unsigned boxForThisPoint,
193 unsigned boxForThisPoint);
221 std::set<unsigned>& rElementIndices);
234 std::set<unsigned>& rElementIndices);
240 void ResetStatisticsVariables();
244 void ShareFineElementData();
248 void ShareCoarseElementData();
277 void SetUpBoxesOnFineMesh(
double boxWidth = -1);
291 void SetUpBoxesOnCoarseMesh(
double boxWidth = -1);
327 void ComputeFineElementsAndWeightsForCoarseNodes(
bool safeMode);
341 void PrintStatistics();
353 void ComputeCoarseElementsForFineNodes(
bool safeMode);
366 void ComputeCoarseElementsForFineElementCentroids(
bool safeMode);
373 return mFineMeshElementsAndWeights;
382 assert(mCoarseElementsForFineNodes.size() > 0);
383 return mCoarseElementsForFineNodes;
392 assert(mCoarseElementsForFineElementCentroids.size() > 0);
393 return mCoarseElementsForFineElementCentroids;
400 void DeleteFineBoxCollection();
406 void DeleteCoarseBoxCollection();
std::vector< unsigned > mNotInMesh
DistributedBoxCollection< DIM > * mpFineMeshBoxCollection
std::vector< ElementAndWeights< DIM > > & rGetElementsAndWeights()
std::vector< unsigned > & rGetCoarseElementsForFineNodes()
std::vector< unsigned > mCoarseElementsForFineElementCentroids
std::vector< unsigned > mStatisticsCounters
AbstractTetrahedralMesh< DIM, DIM > & mrCoarseMesh
AbstractTetrahedralMesh< DIM, DIM > & mrFineMesh
std::vector< ElementAndWeights< DIM > > mFineMeshElementsAndWeights
std::vector< unsigned > mCoarseElementsForFineNodes
std::vector< unsigned > & rGetCoarseElementsForFineElementCentroids()
std::vector< c_vector< double, DIM+1 > > mNotInMeshNearestElementWeights
DistributedBoxCollection< DIM > * mpCoarseMeshBoxCollection
c_vector< double, DIM+1 > Weights