alpha_coefficients_z Derived Type

type, public, extends(alpha_coefficients) :: alpha_coefficients_z

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


Borges WENO alpha coefficients 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 coefficients.

  • 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.

procedure, public, nopass :: description

Return string-description of coefficients.

  • 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_z
  !< Borges WENO alpha coefficients object.
  !<
  !< @note The provided WENO alpha coefficients implements the alpha coefficients defined in *An improved weighted essentially
  !< non-oscillatory scheme for hyperbolic conservation laws*, Rafael Borges, Monique Carmona, Bruno Costa and Wai Sun Don, JCP,
  !< 2008, vol. 227, pp. 3191-3211, doi: 10.1016/j.jcp.2007.11.038.
  contains
    ! deferred public methods
    procedure, pass(self) :: compute     !< Compute coefficients.
    procedure, nopass     :: description !< Return string-description of coefficients.
endtype alpha_coefficients_z