|
dune-fem 2.12-git
|
Loading...
Searching...
No Matches
solver/communication/hierarchical.hh
Go to the documentation of this file.
64 typedef typename DiscreteFunctionSpaceType::template CommDataHandle< ThisType, Operation >::Type Type;
67 HierarchicalCommunicationVector ( const DiscreteFunctionSpace &dfSpace, DofContainer &dofContainer )
102 explicit HierarchicalCommunication ( const DiscreteFunctionSpaceType &dfSpace, Dune::SolverCategory::Category solverCategory = Dune::SolverCategory::sequential )
106 const typename DiscreteFunctionSpace::GridPartType::CommunicationType &communicator () const { return dfSpace_.gridPart().comm(); }
145 Dune::Hybrid::forEach( std::index_sequence_for< V... >(), [ &auxiliaryDofs, &x ] ( auto &&i ) { ThisType::project( auxiliaryDofs, x[ i ] ); } );
157 static void dot ( const AuxiliaryDofsType &auxiliaryDofs, const MultiTypeBlockVector< V... > &x, const MultiTypeBlockVector< V... > &y, F &scp )
159 Dune::Hybrid::forEach( std::index_sequence_for< V... >(), [ &auxiliaryDofs, &x, &y, &scp ] ( auto &&i ) { ThisType::dot( auxiliaryDofs, x[ i ], y[ i ], scp ); } );
163 static void dot ( const AuxiliaryDofsType &auxiliaryDofs, const BlockVector< B, A > &x, const BlockVector< B, A > &y, F &scp )
188 communication.reset( new HierarchicalCommunication< DiscreteFunctionSpace >( dfSpace, solverCategory ) );
constexpr auto size(const T &t)
constexpr void forEach(Range &&range, F &&f)
void buildCommunication(const DiscreteFunctionSpace &dfSpace, Dune::SolverCategory::Category solverCategory, std::shared_ptr< FemCommunication< DiscreteFunctionSpace > > &communication)
Definition fem.hh:143
T real_type
Category
sequential
Definition hierarchical/dofvector.hh:60
Definition fem.hh:156
Definition solver/communication/hierarchical.hh:32
HierarchicalCommunicationVector(const DiscreteFunctionSpace &dfSpace, DofContainer &dofContainer)
Definition solver/communication/hierarchical.hh:67
DofContainer::field_type DofType
Definition solver/communication/hierarchical.hh:59
DofVector & dofVector()
Definition solver/communication/hierarchical.hh:78
DiscreteFunctionSpace DiscreteFunctionSpaceType
Definition solver/communication/hierarchical.hh:53
const DiscreteFunctionSpaceType & space() const
Definition solver/communication/hierarchical.hh:80
const DofVector & dofVector() const
Definition solver/communication/hierarchical.hh:77
DiscreteFunctionSpaceType::LocalBlockIndices BlockIndices
Definition solver/communication/hierarchical.hh:55
CommDataHandle< Operation >::Type dataHandle(const Operation &operation)
Definition solver/communication/hierarchical.hh:72
static constexpr std::size_t blockSize
Definition solver/communication/hierarchical.hh:57
Definition solver/communication/hierarchical.hh:37
Dune::Fem::Impl::BlockIndicesFor< DofContainer >::Type BlockIndices
Definition solver/communication/hierarchical.hh:38
DofVector(DofContainer &data)
Definition solver/communication/hierarchical.hh:44
static constexpr std::size_t blockSize
Definition solver/communication/hierarchical.hh:39
HierarchicalDofBlock< DofContainer > DofBlockType
Definition solver/communication/hierarchical.hh:42
HierarchicalDofBlock< const DofContainer > ConstDofBlockType
Definition solver/communication/hierarchical.hh:41
ConstDofBlockType operator[](std::size_t i) const
Definition solver/communication/hierarchical.hh:46
Definition solver/communication/hierarchical.hh:63
DiscreteFunctionSpaceType::template CommDataHandle< ThisType, Operation >::Type Type
Definition solver/communication/hierarchical.hh:64
Definition solver/communication/hierarchical.hh:94
void copyOwnerToAll(const T &x, T &y) const
Definition solver/communication/hierarchical.hh:109
Dune::FieldTraits< typenameT::field_type >::real_type norm(const T &x) const
Definition solver/communication/hierarchical.hh:131
const DiscreteFunctionSpace::GridPartType::CommunicationType & communicator() const
Definition solver/communication/hierarchical.hh:106
DiscreteFunctionSpace DiscreteFunctionSpaceType
Definition solver/communication/hierarchical.hh:100
void dot(const T &x, const T &y, F &scp) const
Definition solver/communication/hierarchical.hh:124
Dune::SolverCategory::Category getSolverCategory() const
Definition solver/communication/hierarchical.hh:139
HierarchicalCommunication(const DiscreteFunctionSpaceType &dfSpace, Dune::SolverCategory::Category solverCategory=Dune::SolverCategory::sequential)
Definition solver/communication/hierarchical.hh:102
void project(T &x) const
Definition solver/communication/hierarchical.hh:118
discrete function space
T sqrt(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8