tem_heaviside_gibbs_fun_module Module



Derived Types

type, public ::  tem_heaviside_gibbs_type

Defines a Heaviside function, including Gibbs oscillations.

Components

Type Visibility Attributes Name Initial
real(kind=rk), public :: center

The location of the jump

integer, public :: order

Approximation order

real(kind=rk), public :: left

Asymptotic function value left of the jump

real(kind=rk), public :: right

Asymptotic function value right of the jump


Functions

public function tem_eval_heaviside_gibbs(me, coord, n) result(res)

Arguments

Type IntentOptional Attributes Name
type(tem_heaviside_gibbs_type) :: me

Description of the Heaviside function

real(kind=rk), intent(in) :: coord(n,3)

Coordinates to evaluate the function for 1st index goes over number of elements and 2nd index goes over x,y,z coordinates

integer, intent(in) :: n

number of return values

Return Value real(kind=rk), (n)

return value of the function

private function dsinint(xvalue) result(fn_val)

Calculate sine integral of xvalue. AUTHOR: Allan MacLeod Dept. of Mathematics and Statistics University of Paisley Scotland (e-mail: macl_ms0@paisley.ac.uk)

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: xvalue

Return Value real(kind=rk)


Subroutines

public subroutine tem_load_heaviside_gibbs(conf, thandle, me)

This subroutine loads the definition of a spatial Heaviside function including Gibbs oscillations occuring for a high order approximation.

Arguments

Type IntentOptional Attributes Name
type(flu_State) :: conf

lua state type

integer, intent(in) :: thandle

aotus parent handle

type(tem_heaviside_gibbs_type), intent(out) :: me

Heaviside function data