Borges WENO alpha coefficients object.
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.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
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 |
Create alpha coefficients.
Create alpha coefficients.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(alpha_coefficients), | intent(inout) | :: | self | Alpha coefficients. |
||
class(base_object_constructor), | intent(in) | :: | constructor | Alpha coefficients constructor. |
Destroy alpha coefficients.
Destroy alpha coefficients.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(alpha_coefficients), | intent(inout) | :: | self | Alpha coefficients. |
Compute coefficients.
Compute alpha coefficients.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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. |
Return string-description of coefficients.
Return alpha coefficients string-descripition.
String-description.
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