SpECTRE  v2024.06.18
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 >
using value_type = typename ElementData::value_type

Public Member Functions

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

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: