SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
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
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 value_type scalar)
ElementCenteredSubdomainDataoperator/= (const value_type 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).

Member Typedef Documentation

◆ const_iterator

template<size_t Dim, typename TagsList>
using LinearSolver::Schwarz::ElementCenteredSubdomainData< Dim, TagsList >::const_iterator
Initial value:
Iterate over LinearSolver::Schwarz::ElementCenteredSubdomainData
Definition ElementCenteredSubdomainData.hpp:277

The documentation for this struct was generated from the following file:
  • src/ParallelAlgorithms/LinearSolver/Schwarz/ElementCenteredSubdomainData.hpp