specfem::quadrature::gll

Gauss-Legendre-Lobatto quadrature rule.

class gll : public specfem::quadrature::quadrature

Public Functions

gll()

Defines the GLL/GLJ quadrature and related matrices required for quadrature integration.

Construct a quadrature object with default values

Default values: alpha = 0, beta = 0, N = 5

gll(const type_real alpha, const type_real beta)

Construct a new quadrature object.

Parameters:
  • alpha – alpha value of the quadrature

  • beta – beta value of the quadrature

gll(const type_real alpha, const type_real beta, const int N)

Construct a new quadrature object.

Parameters:
  • alpha – alpha value of the quadrature

  • beta – beta value of quadrature

  • N – Number of quadrature points

void set_derivation_matrices()

Set the derivation matrices.

Set the matrices required for compute integrals

inline virtual Kokkos::View<type_real*, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace> get_xi() const override

Get quadrature points on device

inline virtual Kokkos::View<type_real*, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace> get_w() const override

Get quadrature weights on device

inline virtual Kokkos::View<type_real**, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace> get_hprime() const override

Get derivatives of quadrature polynomials at quadrature points on device

inline virtual Kokkos::View<type_real*, Kokkos::LayoutRight, Kokkos::HostSpace> get_hxi() const override

Get quadrature points on host

inline virtual Kokkos::View<type_real*, Kokkos::LayoutRight, Kokkos::HostSpace> get_hw() const override

Get quadrature weights on host

inline virtual Kokkos::View<type_real**, Kokkos::LayoutRight, Kokkos::HostSpace> get_hhprime() const override

Get derivatives of quadrature polynomials at quadrature points on host

inline virtual int get_N() const override

get number of quadrture points

virtual void print(std::ostream &out) const override

Log GLL quadrature information to console.

virtual std::string to_string() const override

return string representation of the GLL quadrature

Returns:

std::string String representation of the GLL quadrature

Private Functions

void set_allocations()

Set View allocations for all derivative matrices

void sync_views()

Sync views between device and host

Private Members

type_real alpha

alpha value of the quadrature

type_real beta

beta value of the quadrature

int N

Number of qudrature points.

Kokkos::View<type_real*, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace> xi

qudrature points stored on device

Kokkos::View<type_real*, Kokkos::LayoutRight, Kokkos::HostSpace> h_xi

quadrature points stored on host

Kokkos::View<type_real*, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace> w

qudrature weights stored on device

Kokkos::View<type_real*, Kokkos::LayoutRight, Kokkos::HostSpace> h_w

quadrature weights stored on host

Kokkos::View<type_real**, Kokkos::LayoutRight, Kokkos::DefaultExecutionSpace> hprime

Polynomial derivatives stored on device

Kokkos::View<type_real**, Kokkos::LayoutRight, Kokkos::HostSpace> h_hprime

Polynomial derivatives store on host