Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
LinearSolver::Schwarz::ElementCenteredSubdomainData< Dim, TagsList > Struct Template Reference

Data on an element-centered subdomain. More...

#include <ElementCenteredSubdomainData.hpp>

Public Types

using ElementData = Variables< TagsList >
using OverlapData = ElementData
using iterator = ElementCenteredSubdomainDataIterator< false, Dim, TagsList >
using const_iterator = ElementCenteredSubdomainDataIterator< true, Dim, TagsList >

Public Member Functions

 ElementCenteredSubdomainData (const ElementCenteredSubdomainData &)=default
ElementCenteredSubdomainDataoperator= (const ElementCenteredSubdomainData &) noexcept=default
 ElementCenteredSubdomainData (ElementCenteredSubdomainData &&) noexcept=default
ElementCenteredSubdomainDataoperator= (ElementCenteredSubdomainData &&) noexcept=default
 ElementCenteredSubdomainData (const size_t element_num_points) noexcept
template<typename UsedForSizeTagsList >
void destructive_resize (const ElementCenteredSubdomainData< Dim, UsedForSizeTagsList > &used_for_size) noexcept
 ElementCenteredSubdomainData (Variables< TagsList > local_element_data, OverlapMap< Dim, Variables< TagsList >> local_overlap_data) noexcept
size_t size () const noexcept
iterator begin () noexcept
iterator end () noexcept
const_iterator begin () const noexcept
const_iterator end () const noexcept
const_iterator cbegin () const noexcept
const_iterator cend () const noexcept
void pup (PUP::er &p) noexcept
template<typename RhsTagsList >
ElementCenteredSubdomainDataoperator+= (const ElementCenteredSubdomainData< Dim, RhsTagsList > &rhs) noexcept
template<typename RhsTagsList >
ElementCenteredSubdomainDataoperator-= (const ElementCenteredSubdomainData< Dim, RhsTagsList > &rhs) noexcept
ElementCenteredSubdomainDataoperator*= (const double scalar) noexcept
ElementCenteredSubdomainDataoperator/= (const double scalar) noexcept

Public Attributes

ElementData element_data {}
OverlapMap< Dim, OverlapData > overlap_data {}

Static Public Attributes

static constexpr size_t volume_dim = Dim

Detailed Description

template<size_t Dim, typename TagsList>
struct LinearSolver::Schwarz::ElementCenteredSubdomainData< Dim, TagsList >

Data on an element-centered subdomain.

An element-centered subdomain consists of a central element and overlap regions with all neighboring elements. This class holds data on such a subdomain. It supports vector space operations (addition and scalar multiplication) and an inner product, which allows the use of this data type with linear solvers (see e.g. LinearSolver::Serial::Gmres).

The documentation for this struct was generated from the following file: