Rewrite adaption interface to allow to attach bases to the grid-transfer
The GlobalBasis needs to be updated after each grid change. So, we have added a list of callbacks that are called in the GridTransfer
class in preAdapt()
, after adapt()
and in postAdapt()
. There are two types of supported data:
- Classes with
preAdapt(bool)
andpostAdapt(bool)
- Classes with
update(gridView())
The first one is typically implemented by data containers that need interpolation. The second one is implemented by a basis.
The DOFVector
and its basis are automatically registered in the GridTransfer in construction of the DOFVector
. If you have a data-container or a basis independent of a DOFVector you have to attach (and detach before destruction) yourself. Therefore, simply call
GridTransferManager::attach(grid, data); // or
GridTransferManager::detach(grid, data);
where data must implement on of the interface 1. or 2., described also in the AdaptionInterface.hh
.
Note, the adaption cycle works as follows:
- preAdapt
- adapt
- update
- postAdapt
So, in the postAdapt step we can assume that all update callbacks are executed. The order of the update methods could be random, though. And also the order of the pre/postAdapt callbacks is arbitrary.
Merge request reports
Activity
mentioned in issue #3 (closed)
- Resolved by Praetorius, Simon
- Resolved by Praetorius, Simon
added 1 commit
- 9f18e5e9 - Wrapper for GlobalBasis with automatic adaption added
added 1 commit
- cd8420fb - register global basis in GridTransfer via DOFVector
added 16 commits
-
cd8420fb...94bb365d - 12 commits from branch
master
- 003477c7 - initial commit of rewritten adaption interface to allow to attach bases to the grid-transfer
- 2f4cbfea - Update bases before postAdapt of data
- 7b4f026e - Wrapper for GlobalBasis with automatic adaption added
- 4ccc8750 - register global basis in GridTransfer via DOFVector
Toggle commit list-
cd8420fb...94bb365d - 12 commits from branch
added 1 commit
- acbae6de - GridTransfer cleaned up for new atach and detach mechanisms
- src/amdis/AdaptionInterface.hpp 0 → 100644
1 #pragma once 2 3 #include <list> 4 5 #include <amdis/Output.hpp> changed this line in version 7 of the diff
mentioned in commit e9859f1d