smod_legendre_1D Submodule

Legendre_1D is a submodule used to generate arrays of coeffiecents used for developing finite element basis functions in 1D. Finite element basis functions are defined at internal nodes and used to iterpolate some value between those nodes.

calculate the coeffiecents associated with a univarate Lagrangian polynomial

In the end you end up with a group of basis functions similar to this:

Quadratic Basis Functions catption


Uses

  • module~~smod_legendre_1d~~UsesGraph module~smod_legendre_1d smod_legendre_1D lib_array lib_array module~smod_legendre_1d->lib_array module~mod_linalg mod_linalg module~smod_legendre_1d->module~mod_linalg module~mod_legendre mod_legendre module~smod_legendre_1d->module~mod_legendre iso_fortran_env iso_fortran_env module~mod_linalg->iso_fortran_env module~mod_legendre->iso_fortran_env

Contents


Module Functions

pure function getArow1D(N, xi) result(row)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: N
real(kind=wp), intent(in) :: xi

Return Value real(kind=wp), dimension(N)

function getx(N) result(x)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: N

Return Value real(kind=wp), dimension(N)

function getAlpha1D(N) result(alpha)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: N

Return Value real(kind=wp), dimension(N,N)

pure function pascal_1D_line(N, x) result(row)

Generates the elements of an array associated with a univarate Lagrange polynomial.

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: N
real(kind=wp), intent(in) :: x

Return Value real(kind=wp), dimension(N+1)

pure function basis_1D(x, alpha, dx) result(y)

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(:):: x
real(kind=wp), intent(in), dimension(:):: alpha
integer, intent(in) :: dx

Return Value real(kind=wp), dimension(:), allocatable