14#ifndef BDDCSPACETRANSFER_HH
15#define BDDCSPACETRANSFER_HH
17#include "dune/common/fvector.hh"
18#include <dune/istl/bvector.hh>
34 using Interfaces = std::vector<std::pair<int,std::vector<int>>>;
42 template <
int m,
class Scalar>
118 template <
int m,
class Scalar=
double,
class TransmissionScalar=Scalar>
224 std::map<int, int>::iterator it;
225 for (it = globalIndex_active.begin(); it != globalIndex_active.end(); it++)
229 globalIndex_notActive.insert(it->first);
252 XVector localPublishedResidual;
258 std::map<int,int> globalIndex_active;
Base class for BDDC SpaceTransfer implementations.
std::vector< int > globalIndex
std::vector< int > const & localIdx(int s) const
void setInterfaceAveragingWeights(int s, XVector const &rho)
Receives the averaging weights from the given subdomain.
void getInterfaceAveragingWeights(int s, XVector &rho) const
Provides the averaging weights to the given subdomain.
void setInterfaces(int id, Interfaces const &ifs)
Provides the interface dof list.
A trivial BDDC space transfer.
void postProlongate(Vector const &u, Vector &du) const
Computes difference of averaged interface values to own interface values and imbues them into the sub...
void setInActiveIdx(int gIdx)
void setGlobalIndex_active()
void getInterfaceResidualUpdate(int s, TransmissionType &dres) const
Dune::BlockVector< XEntry > XVector
void setInterfaceResidualUpdate(int s, TransmissionType const &dres)
void get_globalIndex(std::set< int > &globalIndex_notActive)
void preProlongate(Vector const &u)
Prepares exchange of interface values.
void postRestrict(Vector &r)
void preRestrict(Vector const &r)
void setInterfaceValues(int s, TransmissionType const &values)
Receives the weighted (and possibly compressed )interface dof values of an adjacent subdomain.
std::vector< TEntry > TransmissionType
the data type that is used for actual data exchange between subdomains
void getInterfaceValues(int s, TransmissionType &values) const
Provides the weighted own interface dof values , possibly compressed.
std::vector< std::pair< int, std::vector< int > > > Interfaces
A data structure describing the interfaces of a subdomain.