Global basis defined on a pre-basis. More...
#include <GlobalBasis.hpp>
Inherits DefaultGlobalBasis< PB >, Notifier< event::adapt >, and Observer< event::adapt >.
Classes | |
struct | DummyImpl |
Public Types | |
using | PreBasis = PB |
Pre-basis providing the implementation details. | |
using | GridView = typename PreBasis::GridView |
The grid view that the FE space is defined on. | |
using | Grid = typename GridView::Grid |
using | LocalView = AMDiS::LocalView< Self > |
Type of the local view on the restriction of the basis to a single element. | |
using | Comm = std::conditional_t< Traits::IsFlatIndex< typename Super::MultiIndex >::value, typename BackendTraits< Self >::Comm, SequentialCommunication > |
Type of the communicator. | |
using | ADH = Dune::AdaptDataHandle< Grid, DummyImpl > |
Public Member Functions | |
template<class... Args, Dune::Functions::enableIfConstructible< PreBasis, Args... > = 0> | |
GlobalBasis (std::string const &name, Grid const &grid, Args &&... args) | |
Construct this global basis with given name and grid, and constructing a preBasis. More... | |
template<class PBF > | |
GlobalBasis (std::string const &name, GridView const &gridView, PBF const &preBasisFactory) | |
Construct this global basis with a preBasisFactory. | |
template<class Arg , class... Args, REQUIRES(!std::is_same_v< std::string, remove_cvref_t< Arg >>) > | |
GlobalBasis (Arg &&arg, Args &&... args) | |
Construct this global basis with empty name. | |
GlobalBasis (GlobalBasis const &)=delete | |
Copy constructor. | |
GlobalBasis (GlobalBasis &&)=default | |
Move constructor. | |
void | update (GridView const &gv) |
Update the stored grid view. More... | |
LocalView | localView () const |
Return local view for basis. | |
GlobalBasis const & | rootBasis () const |
Return *this because we are not embedded in a larger basis. | |
Comm const & | communicator () const |
Return the communicator. More... | |
Comm & | communicator () |
ADH | globalRefineCallback () const |
Protected Member Functions | |
void | updateImpl (event::adapt e) override |
Updates the underlying basis when event::adapt is triggered by the observed grid. | |
Protected Attributes | |
Comm | comm_ |
Global basis defined on a pre-basis.
This class is an expansion to Dune::Functions::DefaultGlobalBasis<PB>. It adds a communicator to use the basis in parallel as well as automatic update functionality.
PB | Pre-basis providing the implementation details |
|
inline |
Construct this global basis with given name and grid, and constructing a preBasis.
name | Name associated with this basis for initfile parameter attachment. |
grid | The Grid providing the GridView for this basis |
args... | Argument list for PreBasis |
This will forward all arguments to the constructor of PreBasis
Referenced by GlobalBasis< PB >::GlobalBasis(), and GlobalBasis< PB >::updateImpl().
|
inline |
Return the communicator.
This provides the means to communicate data associated to the basis with other processes.
References AMDiS::error_exit().
|
inline |
Update the stored grid view.
This will update the indexing information of the global basis as well as the communicator. It is called automatically if the grid has changed.
Referenced by GlobalBasis< PB >::updateImpl().