wenoof_alpha_coefficients_z Module

module~~wenoof_alpha_coefficients_z~~UsesGraph module~wenoof_alpha_coefficients_z wenoof_alpha_coefficients_z module~penf penf module~penf->module~wenoof_alpha_coefficients_z module~wenoof_alpha_coefficients wenoof_alpha_coefficients module~penf->module~wenoof_alpha_coefficients module~wenoof_alpha_coefficients->module~wenoof_alpha_coefficients_z module~penf_global_parameters_variables penf_global_parameters_variables module~penf_global_parameters_variables->module~penf module~penf_b_size penf_b_size module~penf_global_parameters_variables->module~penf_b_size module~penf_stringify penf_stringify module~penf_global_parameters_variables->module~penf_stringify module~penf_b_size->module~penf module~penf_b_size->module~penf_stringify module~penf_stringify->module~penf iso_fortran_env iso_fortran_env iso_fortran_env->module~penf_stringify module~wenoof_base_object wenoof_base_object module~wenoof_base_object->module~wenoof_alpha_coefficients
Help

Borges alpha coefficients object.

Used By

module~~wenoof_alpha_coefficients_z~~UsedByGraph module~wenoof_alpha_coefficients_z wenoof_alpha_coefficients_z module~wenoof_alpha_coefficients_m wenoof_alpha_coefficients_m module~wenoof_alpha_coefficients_z->module~wenoof_alpha_coefficients_m module~wenoof_interpolator_js wenoof_interpolator_js module~wenoof_alpha_coefficients_z->module~wenoof_interpolator_js module~wenoof wenoof module~wenoof_alpha_coefficients_z->module~wenoof module~wenoof_objects_factory wenoof_objects_factory module~wenoof_alpha_coefficients_z->module~wenoof_objects_factory module~wenoof_alpha_coefficients_m->module~wenoof_interpolator_js module~wenoof_alpha_coefficients_m->module~wenoof module~wenoof_alpha_coefficients_m->module~wenoof_objects_factory module~wenoof_interpolator_js->module~wenoof program~sin_reconstruction sin_reconstruction module~wenoof->program~sin_reconstruction module~wenoof_interpolator wenoof_interpolator module~wenoof_objects_factory->module~wenoof_interpolator module~wenoof_interpolator->module~wenoof_interpolator_js module~wenoof_interpolator->module~wenoof
Help


Derived Types

Borges WENO alpha coefficients object constructor.

Components

TypeVisibility AttributesNameInitial
integer(kind=I_P), public :: S =0

Stencils dimension.

type, public, extends(alpha_coefficients) :: alpha_coefficients_z

Borges WENO alpha coefficients object.

Components

TypeVisibility AttributesNameInitial
real(kind=R_P), public, allocatable:: alpha_coef(:,:)

Alpha coefficients [1:2,0:S-1]

real(kind=R_P), public, allocatable:: alpha_tot(:)

Sum of alpha coefficients

Type-Bound Procedures

procedure, public, pass(self) :: create

Create alpha coefficients.

procedure, public, pass(self) :: destroy

Destroy alpha coefficients.

procedure, public, pass(self) :: compute

Compute coefficients.

procedure, public, nopass :: description

Return string-description of coefficients.


Functions

private pure function description() result(string)

Return alpha coefficients string-descripition.

Arguments

None

Return Value character(len=:), allocatable

String-description.

private pure function tau(S, IS) result(w_tau)

Compute the tau coefficient used in the WENO-Z alpha coefficients.

Arguments

Type IntentOptional AttributesName
integer(kind=I_P), intent(in) :: S

Number of stencils used.

real(kind=R_P), intent(in) :: IS(0:S-1)

Smoothness indicators.

Return Value real(kind=R_P)

Tau coefficient.

private pure function weno_exp(S) result(w_exp)

Compute the exponent used in the alpha function.

Arguments

Type IntentOptional AttributesName
integer(kind=I_P), intent(in) :: S

Number of stencils used.

Return Value integer(kind=I_P)

Exponent used in the alpha function.

private pure function weno_odd(S) result(w_odd)

Compute the distinguisher between odd and even number of stencils.

Arguments

Type IntentOptional AttributesName
integer(kind=I_P), intent(in) :: S

Number of stencils used.

Return Value integer(kind=I_P)

Distinguishing between odd and even number of stencils.


Subroutines

public subroutine create_alpha_coefficients_z_constructor(S, constructor)

Create alpha coefficients constructor.

Arguments

Type IntentOptional AttributesName
integer(kind=I_P), intent(in) :: S

Stencils dimension.

class(alpha_coefficients_constructor), intent(out), allocatable:: constructor

Alpha coefficients constructor.

private pure subroutine compute(self, S, weight_opt, IS, eps, f1, f2)

Compute alpha coefficients.

Arguments

Type IntentOptional AttributesName
class(alpha_coefficients_z), intent(inout) :: self

Alpha coefficients.

integer(kind=I_P), intent(in) :: S

Number of stencils used.

real(kind=R_P), intent(in) :: weight_opt(1:2,0:S-1)

Optimal weight of the stencil.

real(kind=R_P), intent(in) :: IS(1:2,0:S-1)

Smoothness indicators of the stencils.

real(kind=R_P), intent(in) :: eps

Parameter for avoiding divided by zero.

integer(kind=I_P), intent(in) :: f1

Faces to be computed.

integer(kind=I_P), intent(in) :: f2

Faces to be computed.