interpolator_js_constructor Derived Type

type, public, extends(interpolator_constructor) :: interpolator_js_constructor

type~~interpolator_js_constructor~~InheritsGraph type~interpolator_js_constructor interpolator_js_constructor type~polynomials_constructor polynomials_constructor type~polynomials_constructor->type~interpolator_js_constructor polynom type~interpolator_constructor interpolator_constructor type~polynomials_constructor->type~interpolator_constructor polynom type~smoothness_indicators_constructor smoothness_indicators_constructor type~smoothness_indicators_constructor->type~interpolator_js_constructor is type~smoothness_indicators_constructor->type~interpolator_constructor is type~optimal_weights_constructor optimal_weights_constructor type~optimal_weights_constructor->type~interpolator_js_constructor weights type~optimal_weights_constructor->type~interpolator_constructor weights type~alpha_coefficients_constructor alpha_coefficients_constructor type~alpha_coefficients_constructor->type~interpolator_js_constructor alpha type~alpha_coefficients_constructor->type~interpolator_constructor alpha type~base_object_constructor base_object_constructor type~base_object_constructor->type~polynomials_constructor type~base_object_constructor->type~smoothness_indicators_constructor type~base_object_constructor->type~optimal_weights_constructor type~base_object_constructor->type~alpha_coefficients_constructor type~base_object_constructor->type~interpolator_constructor type~interpolator_constructor->type~interpolator_js_constructor
Help


Jiang-Shu (upwind) interpolator object constructor.



Components

TypeVisibility AttributesNameInitial
class(smoothness_indicators_constructor), public, allocatable:: is

Smoothness indicators constructor.

class(alpha_coefficients_constructor), public, allocatable:: alpha

Alpha coefficients constructor.

class(optimal_weights_constructor), public, allocatable:: weights

Optimal weights constructor.

class(polynomials_constructor), public, allocatable:: polynom

Polynomilas constructor.

integer(kind=I_P), private :: S =0

Stencils dimension.

real(kind=R_P), private :: eps =10._R_P**(-6)

Parameter for avoiding division by zero.


Type-Bound Procedures

procedure, public, pass(self) :: create => create_interpolator_constructor

Create interpolator constructor.

procedure, public, pass(self) :: destroy => destroy_interpolator_constructor

Destroy interpolator constructor.

Source Code

type, extends(interpolator_constructor) :: interpolator_js_constructor
  !< Jiang-Shu (upwind) interpolator object constructor.
  !<
  !< @note The constructed WENO interpolator implements the *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
  integer(I_P) :: S = 0               !< Stencils dimension.
  real(R_P)    :: eps = 10._R_P**(-6) !< Parameter for avoiding division by zero.
endtype interpolator_js_constructor