OverlapHelpers.hpp

34 boost::hash<OverlapId<Dim>>>;

size_t volume_offset() const noexcept

Offset into a DataVector that holds full volume data.

constexpr size_t maximum_number_of_neighbors(const size_t dim)

size_t overlap_extent(const size_t volume_extent, const size_t max_overlap) noexcept

The number of points that an overlap extends into the volume_extent

size_t overlap_offset() const noexcept

Offset into a DataVector that holds data only on the overlap region.

Items related to the Schwarz linear solver.

Iterate over grid points in a region that extends partially into the volume.

void add_overlap_data(const gsl::not_null< Variables< VolumeTagsList > * > volume_data, const Variables< OverlapTagsList > &overlap_data, const Index< Dim > &volume_extents, const size_t overlap_extent, const Direction< Dim > &direction) noexcept

Add the overlap_data to the volume_data

double overlap_width(const size_t overlap_extent, const DataVector &collocation_points) noexcept

Width of an overlap extending overlap_extent points into the collocation_points from either side.

void data_on_overlap(const gsl::not_null< Tensor< DataType, TensorStructure... > * > restricted_tensor, const Tensor< DataType, TensorStructure... > &tensor, const Index< Dim > &volume_extents, const size_t overlap_extent, const Direction< Dim > &direction) noexcept

The part of the tensor data that lies within the overlap region.

size_t overlap_num_points(const Index< Dim > &volume_extents, const size_t overlap_extent, const size_t overlap_dimension) noexcept

Total number of grid points in an overlap region that extends overlap_extent points into the volume_e...

void extended_overlap_data(const gsl::not_null< Variables< ExtendedTagsList > * > extended_data, const Variables< OverlapTagsList > &overlap_data, const Index< Dim > &volume_extents, const size_t overlap_extent, const Direction< Dim > &direction) noexcept

Extend the overlap data to the full mesh by filling it with zeros outside the overlap region.

const DataVector & collocation_points(const Mesh< 1 > &mesh) noexcept

Collocation points for a one-dimensional mesh.

gsl::not_null< T * > make_not_null(T *ptr) noexcept

Construct a not_null from a pointer. Often this will be done as an implicit conversion,...

T max(T... args)

A hash table with a compile-time specified maximum size and ability to efficiently handle perfect has...

Require a pointer to not be a nullptr

© Copyright 2017 - 2020 SXS Collaboration, Distributed under the MIT License