mod_spline_functions Module

Module that calculates the finite element basis functions. The different basis functions and their derivatives used throughout the code are calculated here. All routines defined in this module simply return the basis functions for a specific point r in the interval (rj_lo, rj_hi).



Contents


Subroutines

public subroutine quadratic_factors(r, rj_lo, rj_hi, h_quadratic)

Calculates the quadratic basis functions.

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

current position for r in the grid interval

real(kind=dp), intent(in) :: rj_lo

left edge of the grid interval

real(kind=dp), intent(in) :: rj_hi

right edge of the grid interval

real(kind=dp), intent(out) :: h_quadratic(4)

array containing the quadratic basis functions for this grid interval

public subroutine quadratic_factors_deriv(r, rj_lo, rj_hi, dh_quadratic_dr)

Calculates the derivatives of the quadratic basis functions.

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

current position for r in the grid interval

real(kind=dp), intent(in) :: rj_lo

left edge of the grid interval

real(kind=dp), intent(in) :: rj_hi

right edge of the grid interval

real(kind=dp), intent(out) :: dh_quadratic_dr(4)

array containing the derivatives of the quadratic basis functions for this grid interval

public subroutine cubic_factors(r, rj_lo, rj_hi, h_cubic)

Calculates the cubic basis functions.

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

current position for r in the grid interval

real(kind=dp), intent(in) :: rj_lo

left edge of the grid interval

real(kind=dp), intent(in) :: rj_hi

right edge of the grid interval

real(kind=dp), intent(out) :: h_cubic(4)

array containing the cubic basis functions for this grid interval

public subroutine cubic_factors_deriv(r, rj_lo, rj_hi, dh_cubic_dr)

@brief Calculates the derivatives of the cubic basis functions.

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

current position for r in the grid interval

real(kind=dp), intent(in) :: rj_lo

left edge of the grid interval

real(kind=dp), intent(in) :: rj_hi

right edge of the grid interval

real(kind=dp), intent(out) :: dh_cubic_dr(4)

array containing the derivatives of the cubic basis functions for this grid interval

public subroutine cubic_factors_deriv2(r, rj_lo, rj_hi, ddh_cubic_dr)

@brief Calculates the second derivatives of the cubic basis functions.

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: r

current position for r in the grid interval

real(kind=dp), intent(in) :: rj_lo

left edge of the grid interval

real(kind=dp), intent(in) :: rj_hi

right edge of the grid interval

real(kind=dp), intent(out) :: ddh_cubic_dr(4)

array containing the derivatives of the cubic basis functions for this grid interval