specfem::point::impl::nonconforming_transfer_function

template<int NQuadIntersection, specfem::dimension::type DimensionTag, specfem::data_access::DataClassType DataClass, specfem::interface::interface_tag InterfaceTag, specfem::element::boundary_tag BoundaryTag>
struct nonconforming_transfer_function : public specfem::data_access::Accessor<specfem::data_access::AccessorType::point, DataClass, DimensionTag, false>

Accessor for non-conforming interface transfer functions.

Template Parameters:
  • NQuadIntersection – Number of quadrature points in the intersection.

  • DimensionTag – Spatial dimension.

  • DataClass – Data class type.

  • InterfaceTag – Interface type.

  • BoundaryTag – Boundary condition type.

Public Types

using TransferViewType = specfem::datatype::VectorPointViewType<type_real, NQuadIntersection, false>

View type for the transfer function values.

Public Functions

inline nonconforming_transfer_function(const TransferViewType &transfer_function)

Constructor with transfer function values.

Parameters:

transfer_function – The transfer function values.

nonconforming_transfer_function() = default

Default constructor.

template<typename ...Indices>
inline const auto &operator()(Indices... indices) const

Accessor operator (const).

Template Parameters:

Indices – Index types.

Parameters:

indices – Indices to access the transfer function.

Returns:

Const reference to the value.

template<typename ...Indices>
inline auto &operator()(Indices... indices)

Accessor operator (mutable).

Template Parameters:

Indices – Index types.

Parameters:

indices – Indices to access the transfer function.

Returns:

Reference to the value.

Public Members

TransferViewType transfer_function

Transfer function values.

Public Static Attributes

static constexpr auto interface_tag = InterfaceTag

Interface type tag.

static constexpr auto boundary_tag = BoundaryTag

Boundary condition tag.

static constexpr auto n_quad_intersection = NQuadIntersection

Number of quadrature points in the intersection.

static constexpr auto connection_tag = specfem::connections::type::nonconforming

Connection type tag (nonconforming).