SpECTRE
v2025.03.17
|
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 | |
ElementCenteredSubdomainData & | operator= (const ElementCenteredSubdomainData &)=default |
ElementCenteredSubdomainData (ElementCenteredSubdomainData &&)=default | |
ElementCenteredSubdomainData & | operator= (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 > | |
ElementCenteredSubdomainData & | operator+= (const ElementCenteredSubdomainData< Dim, RhsTagsList > &rhs) |
template<typename RhsTagsList > | |
ElementCenteredSubdomainData & | operator-= (const ElementCenteredSubdomainData< Dim, RhsTagsList > &rhs) |
ElementCenteredSubdomainData & | operator*= (const double scalar) |
ElementCenteredSubdomainData & | operator/= (const double scalar) |
Public Attributes | |
ElementData | element_data {} |
OverlapMap< Dim, OverlapData > | overlap_data {} |
Static Public Attributes | |
static constexpr size_t | volume_dim = Dim |
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
).