specfem::point::source¶
-
template<specfem::element::dimension_tag DimensionTag, specfem::element::medium_tag MediumTag, specfem::simulation::field_type WavefieldType>
struct source : public specfem::data_access::Accessor<specfem::datatype::AccessorType::point, specfem::data_access::DataClassType::source, DimensionTag, false>¶ Store source information at a given quadrature point.
- Template Parameters:
DimensionTag – Dimension of the spectral element
MediumTag – Medium tag of the spectral element
WavefieldType – Wavefield type on which the source is applied
Public Types
-
using value_type = typename base_type::template vector_type<type_real, components>¶
Value type to store source information
Public Functions
-
inline source(const value_type &stf, const value_type &lagrange_interpolant)¶
Constructor.
- Parameters:
stf – Source time function
lagrange_interpolant – Lagrange interpolant
Public Members
-
value_type stf¶
Source time function.
-
value_type lagrange_interpolant¶
Lagrange interpolant.
Public Static Attributes
-
static constexpr auto wavefield_tag = WavefieldType¶
Wavefield type on which the source is applied
-
static constexpr int components = specfem::element::attributes<DimensionTag, MediumTag>::components¶
Number of components in the medium
Private Types
-
using base_type = specfem::data_access::Accessor<specfem::datatype::AccessorType::point, specfem::data_access::DataClassType::source, DimensionTag, false>¶
Base type for the source