alpha_coefficients_js Derived Type

type, public, extends(alpha_coefficients) :: alpha_coefficients_js

type~~alpha_coefficients_js~~InheritsGraph type~alpha_coefficients_js alpha_coefficients_js type~alpha_coefficients alpha_coefficients type~alpha_coefficients->type~alpha_coefficients_js type~base_object base_object type~base_object->type~alpha_coefficients
Help


Jiang-Shu alpha coefficient object.


Source Code


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.

  • private pure subroutine create(self, constructor)

    Create alpha coefficients.

    Arguments

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

    Alpha coefficients.

    class(base_object_constructor), intent(in) :: constructor

    Alpha coefficients constructor.

procedure, public, pass(self) :: destroy

Destroy alpha coefficients.

  • private elemental subroutine destroy(self)

    Destroy alpha coefficients.

    Arguments

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

    Alpha coefficients.

procedure, public, pass(self) :: compute

Compute alpha coefficients.

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

    Compute alpha coefficients.

    Arguments

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

    Alpha coefficient.

    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.

procedure, public, nopass :: description

Return alpha coefficients string-description.

  • private pure function description() result(string)

    Return alpha coefficients string-descripition.

    Arguments

    None

    Return Value character(len=:), allocatable

    String-description.

Source Code

type, extends(alpha_coefficients) :: alpha_coefficients_js
  !< Jiang-Shu alpha coefficient object.
  !<
  !< @note The provided WENO alpha coefficient implements the alpha coefficients defined in *Efficient Implementation of Weighted
  !< ENO Schemes*, Guang-Shan Jiang, Chi-Wang Shu, JCP, 1996, vol. 126, pp. 202--228, doi:10.1006/jcph.1996.0130.
  private
  contains
    ! deferred public methods
    procedure, pass(self) :: compute     !< Compute alpha coefficients.
    procedure, nopass     :: description !< Return alpha coefficients string-description.
endtype alpha_coefficients_js