Skip to content
Snippets Groups Projects
Commit 29dc7042 authored by Markus Blatt's avatar Markus Blatt
Browse files

Made AttributeSet accessible.

Introduced some typedefs.

Fixed some includes.

[[Imported from SVN: r463]]
parent da2bd220
Branches
Tags
No related merge requests found
......@@ -19,17 +19,20 @@
#endif
#include "dune/common/tripel.hh"
#include <dune/common/tripel.hh>
#include <dune/common/enumset.hh>
#include <dune/common/collectivecommunication.hh>
#if HAVE_MPI
#include "indexset.hh"
#include "communicator.hh"
#include "remoteindices.hh"
#include "istlexception.hh"
#include <dune/common/mpicollectivecommunication.hh>
#endif
#include "solvercategory.hh"
#include "istlexception.hh"
#include <dune/common/collectivecommunication.hh>
namespace Dune {
/**
......@@ -47,7 +50,7 @@ namespace Dune {
/**
* @brief Attribute set for overlapping schwarz.
*/
class OwnerOverlapCopyAttributeSet
struct OwnerOverlapCopyAttributeSet
{
enum AttributeSet {
owner=1, overlap=2, copy=0
......@@ -238,6 +241,9 @@ namespace Dune {
}
public:
enum {
category = SolverCategory::overlapping
};
/**
* @brief Communicate values from owner data points to all other data points.
*
......@@ -323,6 +329,49 @@ namespace Dune {
return sqrt(cc.sum(result));
}
/** @brief The type of the parallel index set. */
typedef ParallelIndexSet<GlobalIdType,LI,512> ParallelIndexSet;
/** @brief The type of the remote indices. */
typedef RemoteIndices<PIS> RemoteIndices;
/**
* @brief Get the underlying parallel index set.
* @return The underlying parallel index set.
*/
const ParallelIndexSet& indexSet() const
{
return pis;
}
/**
* @brief Get the underlying remote indices.
* @return The underlying remote indices.
*/
const RemoteIndices& remoteIndices() const
{
return ri;
}
/**
* @brief Get the underlying parallel index set.
* @return The underlying parallel index set.
*/
ParallelIndexSet& indexSet()
{
return pis;
}
/**
* @brief Get the underlying remote indices.
* @return The underlying remote indices.
*/
RemoteIndices& remoteIndices()
{
return ri;
}
/**
* @brief Project a vector to somewhat???
*
......@@ -337,6 +386,18 @@ namespace Dune {
}
/**
* @brief Construct the communication without any indices.
*
* The local index set and the remote indices have to be set up
* later on.
* @param comm_ The MPI Communicator to use, e. g. MPI_COMM_WORLD
*/
OwnerOverlapCopyCommunication (MPI_Comm comm_)
: cc(comm_), pis(), ri(pis,pis,comm_),
OwnerToAllInterfaceBuilt(false), OwnerOverlapToAllInterfaceBuilt(false)
{}
/**
* @brief Constructor
* @param indexinfo The set of IndexTripels describing the local and remote indices.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment