Grid Setup takes forever for aspect-ratio<0.4 domains.
This was confirmed for the Finite Volumes, ADER-DG and Limiting ADER-DG solver
Update: width=1.0,0.4 works but not width = 1.0,0.3 and smaller aspect ratios width_y/width_x.
This might be a Peano bug since the if-body in the snippet below is not entered anymore after the first grid setup iteration.
void exahype::mappings::MeshRefinement::refineVertexIfNecessary(
exahype::Vertex& fineGridVertex,
const tarch::la::Vector<DIMENSIONS, double>& fineGridH,
bool isCalledByCreationalEvent
) const {
for (const auto& p : exahype::solvers::RegisteredSolvers) {
if (
fineGridVertex.getRefinementControl() == Vertex::Records::Unrefined
&&
tarch::la::allGreater(fineGridH,p->getMaximumMeshSize())
) {
logInfo("refineVertexIfNecessary(...)",fineGridH);
#ifdef Parallel
if (isCalledByCreationalEvent) {
fineGridVertex.enforceRefine();
}
else {
fineGridVertex.refine();
}
#else
fineGridVertex.refine();
#endif
}
}
}
Output:
0.00654268 info peano::utils::UserInterface::writeHeader() Application based upon the PDE framework Peano - 3rd Generation
0.0065589 info peano::utils::UserInterface::writeHeader() revision: 2509
0.00657392 info peano::utils::UserInterface::writeHeader() build: dim=2
0.00658727 info peano::utils::UserInterface::writeHeader() optimisations: d-loop persistent-attributes packed opt-static-subtrees recursion-unrolling persistent-regular-subtrees
0.00660133 info peano::utils::UserInterface::writeHeader() (C) 2005 - 2016 www.peano-framework.org
0.00661516 info peano::utils::UserInterface::writeHeader() processes: 1, threads: 1
0.00667906 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [1,1]
0.00671291 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [1,1]
0.00695658 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.333333,0.333333]
0.00709009 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.00744748 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.333333,0.333333]
0.00749516 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.333333,0.333333]
0.00753284 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.333333,0.333333]
0.00765061 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.00768328 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.00771189 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.00837231 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.00840974 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.00844097 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.00893974 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.00898051 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.00901055 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.0099957 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.0106082 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.0106461 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.0106778 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.0154214 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.015456 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.0154729 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.0201931 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.0202355 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.0202694 info exahype::mappings::MeshRefinement::refineVertexIfNecessary(...) [0.111111,0.111111]
0.0283382 info exahype::mappings::LoadBalancing::endIteration(State) memoryUsage =29 MB
0.0284777 info exahype::runners::Runner::createGrid() grid setup iteration #1, max-level=4, state=(mergeMode:MergeNothing,sendMode:ReduceAndMergeTimeStepData,reinitTimeStepData:0,stabilityConditionOfOneSolverWasViolated:0,timeStepSizeWeightForPredictionRerun:0,limiterDomainHasChanged:0,minMeshWidth:[0.037037,0.037037],maxMeshWidth:[0.037037,0.037037],numberOfInnerVertices:208,numberOfBoundaryVertices:154,numberOfOuterVertices:352,numberOfInnerCells:144,numberOfOuterCells:306,numberOfInnerLeafVertices:104,numberOfBoundaryLeafVertices:64,numberOfOuterLeafVertices:176,numberOfInnerLeafCells:135,numberOfOuterLeafCells:266,maxLevel:4,hasRefined:1,hasTriggeredRefinementForNextIteration:1,hasErased:0,hasTriggeredEraseForNextIteration:0,hasChangedVertexOrCellState:1,hasModifiedGridInPreviousIteration:1,isTraversalInverted:1)[smallest-regular-tree-that-is-held-persistently(currently/previous iteration)=0/0], idle-nodes=1
0.0285568 info exahype::runners::Runner::createGrid(...) memoryUsage =29 MB
0.041122 info exahype::mappings::LoadBalancing::endIteration(State) memoryUsage =29 MB
0.04128 info exahype::runners::Runner::createGrid() grid setup iteration #2, max-level=4, state=(mergeMode:MergeNothing,sendMode:ReduceAndMergeTimeStepData,reinitTimeStepData:0,stabilityConditionOfOneSolverWasViolated:0,timeStepSizeWeightForPredictionRerun:0,limiterDomainHasChanged:0,minMeshWidth:[0.037037,0.037037],maxMeshWidth:[0.037037,0.037037],numberOfInnerVertices:208,numberOfBoundaryVertices:154,numberOfOuterVertices:1106,numberOfInnerCells:144,numberOfOuterCells:729,numberOfInnerLeafVertices:104,numberOfBoundaryLeafVertices:64,numberOfOuterLeafVertices:534,numberOfInnerLeafCells:135,numberOfOuterLeafCells:642,maxLevel:4,hasRefined:1,hasTriggeredRefinementForNextIteration:1,hasErased:0,hasTriggeredEraseForNextIteration:0,hasChangedVertexOrCellState:0,hasModifiedGridInPreviousIteration:1,isTraversalInverted:0)[smallest-regular-tree-that-is-held-persistently(currently/previous iteration)=0/0], idle-nodes=1
0.041399 info exahype::runners::Runner::createGrid(...) memoryUsage =29 MB
0.0546217 info exahype::mappings::LoadBalancing::endIteration(State) memoryUsage =29 MB
0.0550416 info exahype::runners::Runner::createGrid() grid setup iteration #3, max-level=4, state=(mergeMode:MergeNothing,sendMode:ReduceAndMergeTimeStepData,reinitTimeStepData:0,stabilityConditionOfOneSolverWasViolated:0,timeStepSizeWeightForPredictionRerun:0,limiterDomainHasChanged:0,minMeshWidth:[0.037037,0.037037],maxMeshWidth:[0.037037,0.037037],numberOfInnerVertices:374,numberOfBoundaryVertices:150,numberOfOuterVertices:1550,numberOfInnerCells:225,numberOfOuterCells:972,numberOfInnerLeafVertices:187,numberOfBoundaryLeafVertices:62,numberOfOuterLeafVertices:744,numberOfInnerLeafCells:135,numberOfOuterLeafCells:858,maxLevel:4,hasRefined:1,hasTriggeredRefinementForNextIteration:0,hasErased:1,hasTriggeredEraseForNextIteration:0,hasChangedVertexOrCellState:1,hasModifiedGridInPreviousIteration:1,isTraversalInverted:1)[smallest-regular-tree-that-is-held-persistently(currently/previous iteration)=0/0], idle-nodes=1
0.0551374 info exahype::runners::Runner::createGrid(...) memoryUsage =29 MB
0.0675743 info exahype::mappings::LoadBalancing::endIteration(State) memoryUsage =29 MB
0.0676742 info exahype::runners::Runner::createGrid() grid setup iteration #4, max-level=4, state=(mergeMode:MergeNothing,sendMode:ReduceAndMergeTimeStepData,reinitTimeStepData:0,stabilityConditionOfOneSolverWasViolated:0,timeStepSizeWeightForPredictionRerun:0,limiterDomainHasChanged:0,minMeshWidth:[0.037037,0.037037],maxMeshWidth:[0.037037,0.037037],numberOfInnerVertices:358,numberOfBoundaryVertices:94,numberOfOuterVertices:1026,numberOfInnerCells:225,numberOfOuterCells:702,numberOfInnerLeafVertices:179,numberOfBoundaryLeafVertices:34,numberOfOuterLeafVertices:498,numberOfInnerLeafCells:135,numberOfOuterLeafCells:618,maxLevel:4,hasRefined:1,hasTriggeredRefinementForNextIteration:1,hasErased:1,hasTriggeredEraseForNextIteration:0,hasChangedVertexOrCellState:1,hasModifiedGridInPreviousIteration:1,isTraversalInverted:0)[smallest-regular-tree-that-is-held-persistently(currently/previous iteration)=0/0], idle-nodes=1
0.0677187 info exahype::runners::Runner::createGrid(...) memoryUsage =29 MB
0.0781031 info exahype::mappings::LoadBalancing::endIteration(State) memoryUsage =29 MB
0.0782623 info exahype::runners::Runner::createGrid() grid setup iteration #5, max-level=4, state=(mergeMode:MergeNothing,sendMode:ReduceAndMergeTimeStepData,reinitTimeStepData:0,stabilityConditionOfOneSolverWasViolated:0,timeStepSizeWeightForPredictionRerun:0,limiterDomainHasChanged:0,minMeshWidth:[0.037037,0.037037],maxMeshWidth:[0.037037,0.037037],numberOfInnerVertices:374,numberOfBoundaryVertices:150,numberOfOuterVertices:1106,numberOfInnerCells:225,numberOfOuterCells:729,numberOfInnerLeafVertices:187,numberOfBoundaryLeafVertices:62,numberOfOuterLeafVertices:534,numberOfInnerLeafCells:135,numberOfOuterLeafCells:642,maxLevel:4,hasRefined:1,hasTriggeredRefinementForNextIteration:1,hasErased:0,hasTriggeredEraseForNextIteration:0,hasChangedVertexOrCellState:0,hasModifiedGridInPreviousIteration:1,isTraversalInverted:1)[smallest-regular-tree-that-is-held-persistently(currently/previous iteration)=0/0], idle-nodes=1
0.0783317 info exahype::runners::Runner::createGrid(...) memoryUsage =29 MB
0.0897303 info exahype::mappings::LoadBalancing::endIteration(State) memoryUsage =29 MB
0.0898073 info exahype::runners::Runner::createGrid() grid setup iteration #6, max-level=4, state=(mergeMode:MergeNothing,sendMode:ReduceAndMergeTimeStepData,reinitTimeStepData:0,stabilityConditionOfOneSolverWasViolated:0,timeStepSizeWeightForPredictionRerun:0,limiterDomainHasChanged:0,minMeshWidth:[0.037037,0.037037],maxMeshWidth:[0.037037,0.037037],numberOfInnerVertices:358,numberOfBoundaryVertices:94,numberOfOuterVertices:1550,numberOfInnerCells:225,numberOfOuterCells:972,numberOfInnerLeafVertices:179,numberOfBoundaryLeafVertices:34,numberOfOuterLeafVertices:744,numberOfInnerLeafCells:135,numberOfOuterLeafCells:858,maxLevel:4,hasRefined:1,hasTriggeredRefinementForNextIteration:0,hasErased:1,hasTriggeredEraseForNextIteration:0,hasChangedVertexOrCellState:1,hasModifiedGridInPreviousIteration:1,isTraversalInverted:0)[smallest-regular-tree-that-is-held-persistently(currently/previous iteration)=0/0], idle-nodes=1
0.0898409 info exahype::runners::Runner::createGrid(...) memoryUsage =29 MB
0.098608 info exahype::mappings::LoadBalancing::endIteration(State) memoryUsage =29 MB
0.0987325 info exahype::runners::Runner::createGrid() grid setup iteration #7, max-level=4, state=(mergeMode:MergeNothing,sendMode:ReduceAndMergeTimeStepData,reinitTimeStepData:0,stabilityConditionOfOneSolverWasViolated:0,timeStepSizeWeightForPredictionRerun:0,limiterDomainHasChanged:0,minMeshWidth:[0.037037,0.037037],maxMeshWidth:[0.037037,0.037037],numberOfInnerVertices:374,numberOfBoundaryVertices:150,numberOfOuterVertices:1026,numberOfInnerCells:225,numberOfOuterCells:702,numberOfInnerLeafVertices:187,numberOfBoundaryLeafVertices:62,numberOfOuterLeafVertices:498,numberOfInnerLeafCells:135,numberOfOuterLeafCells:618,maxLevel:4,hasRefined:1,hasTriggeredRefinementForNextIteration:1,hasErased:1,hasTriggeredEraseForNextIteration:0,hasChangedVertexOrCellState:1,hasModifiedGridInPreviousIteration:1,isTraversalInverted:1)[smallest-regular-tree-that-is-held-persistently(currently/previous iteration)=0/0], idle-nodes=1