foodie_test_integrand_tester_object Module

module~~foodie_test_integrand_tester_object~~UsesGraph module~foodie_test_integrand_tester_object foodie_test_integrand_tester_object penf penf penf->module~foodie_test_integrand_tester_object module~foodie foodie penf->module~foodie module~foodie_integrator_adams_bashforth foodie_integrator_adams_bashforth penf->module~foodie_integrator_adams_bashforth module~foodie_integrator_ms_runge_kutta_ssp foodie_integrator_ms_runge_kutta_ssp penf->module~foodie_integrator_ms_runge_kutta_ssp module~foodie_error_codes foodie_error_codes penf->module~foodie_error_codes module~foodie_integrator_lmm_ssp foodie_integrator_lmm_ssp penf->module~foodie_integrator_lmm_ssp module~foodie_integrator_euler_explicit foodie_integrator_euler_explicit penf->module~foodie_integrator_euler_explicit module~foodie_integrator_multistep_object foodie_integrator_multistep_object penf->module~foodie_integrator_multistep_object module~foodie_integrator_runge_kutta_emd foodie_integrator_runge_kutta_emd penf->module~foodie_integrator_runge_kutta_emd module~foodie_integrator_adams_bashforth_moulton foodie_integrator_adams_bashforth_moulton penf->module~foodie_integrator_adams_bashforth_moulton module~foodie_integrator_adams_moulton foodie_integrator_adams_moulton penf->module~foodie_integrator_adams_moulton module~foodie_integrator_runge_kutta_lssp foodie_integrator_runge_kutta_lssp penf->module~foodie_integrator_runge_kutta_lssp module~foodie_integrator_lmm_ssp_vss foodie_integrator_lmm_ssp_vss penf->module~foodie_integrator_lmm_ssp_vss module~foodie_integrator_runge_kutta_ssp foodie_integrator_runge_kutta_ssp penf->module~foodie_integrator_runge_kutta_ssp module~foodie_integrand_object foodie_integrand_object penf->module~foodie_integrand_object module~foodie_integrator_runge_kutta_low_storage foodie_integrator_runge_kutta_low_storage penf->module~foodie_integrator_runge_kutta_low_storage module~foodie_integrator_multistage_object foodie_integrator_multistage_object penf->module~foodie_integrator_multistage_object module~foodie_integrator_leapfrog foodie_integrator_leapfrog penf->module~foodie_integrator_leapfrog module~foodie_integrator_multistage_multistep_object foodie_integrator_multistage_multistep_object penf->module~foodie_integrator_multistage_multistep_object module~foodie_integrator_object foodie_integrator_object penf->module~foodie_integrator_object module~foodie_integrator_backward_differentiation_formula foodie_integrator_backward_differentiation_formula penf->module~foodie_integrator_backward_differentiation_formula flap flap flap->module~foodie_test_integrand_tester_object module~foodie->module~foodie_test_integrand_tester_object module~foodie_integrator_adams_bashforth->module~foodie module~foodie_integrator_adams_bashforth->module~foodie_integrator_adams_bashforth_moulton module~foodie_integrator_ms_runge_kutta_ssp->module~foodie module~foodie_error_codes->module~foodie module~foodie_error_codes->module~foodie_integrator_adams_bashforth module~foodie_error_codes->module~foodie_integrator_ms_runge_kutta_ssp module~foodie_error_codes->module~foodie_integrator_lmm_ssp module~foodie_error_codes->module~foodie_integrator_euler_explicit module~foodie_error_codes->module~foodie_integrator_runge_kutta_emd module~foodie_error_codes->module~foodie_integrator_adams_bashforth_moulton module~foodie_error_codes->module~foodie_integrator_adams_moulton module~foodie_error_codes->module~foodie_integrator_runge_kutta_lssp module~foodie_error_codes->module~foodie_integrator_lmm_ssp_vss module~foodie_error_codes->module~foodie_integrator_runge_kutta_ssp module~foodie_error_codes->module~foodie_integrator_runge_kutta_low_storage module~foodie_error_codes->module~foodie_integrator_leapfrog module~foodie_error_codes->module~foodie_integrator_backward_differentiation_formula module~foodie_integrator_lmm_ssp->module~foodie module~foodie_integrator_euler_explicit->module~foodie module~foodie_integrator_multistep_object->module~foodie module~foodie_integrator_multistep_object->module~foodie_integrator_adams_bashforth module~foodie_integrator_multistep_object->module~foodie_integrator_lmm_ssp module~foodie_integrator_multistep_object->module~foodie_integrator_adams_bashforth_moulton module~foodie_integrator_multistep_object->module~foodie_integrator_adams_moulton module~foodie_integrator_multistep_object->module~foodie_integrator_lmm_ssp_vss module~foodie_integrator_multistep_object->module~foodie_integrator_leapfrog module~foodie_integrator_multistep_object->module~foodie_integrator_backward_differentiation_formula module~foodie_integrator_runge_kutta_emd->module~foodie module~foodie_integrator_adams_bashforth_moulton->module~foodie iso_fortran_env iso_fortran_env iso_fortran_env->module~foodie iso_fortran_env->module~foodie_integrator_multistep_object iso_fortran_env->module~foodie_integrator_multistage_object iso_fortran_env->module~foodie_integrator_multistage_multistep_object iso_fortran_env->module~foodie_integrator_object module~foodie_integrator_adams_moulton->module~foodie module~foodie_integrator_adams_moulton->module~foodie_integrator_adams_bashforth_moulton module~foodie_integrator_runge_kutta_lssp->module~foodie module~foodie_integrator_lmm_ssp_vss->module~foodie module~foodie_integrator_runge_kutta_ssp->module~foodie module~foodie_integrand_object->module~foodie module~foodie_integrand_object->module~foodie_integrator_adams_bashforth module~foodie_integrand_object->module~foodie_integrator_ms_runge_kutta_ssp module~foodie_integrand_object->module~foodie_integrator_lmm_ssp module~foodie_integrand_object->module~foodie_integrator_euler_explicit module~foodie_integrand_object->module~foodie_integrator_multistep_object module~foodie_integrand_object->module~foodie_integrator_runge_kutta_emd module~foodie_integrand_object->module~foodie_integrator_adams_bashforth_moulton module~foodie_integrand_object->module~foodie_integrator_adams_moulton module~foodie_integrand_object->module~foodie_integrator_runge_kutta_lssp module~foodie_integrand_object->module~foodie_integrator_lmm_ssp_vss module~foodie_integrand_object->module~foodie_integrator_runge_kutta_ssp module~foodie_integrand_object->module~foodie_integrator_runge_kutta_low_storage module~foodie_integrand_object->module~foodie_integrator_multistage_object module~foodie_integrand_object->module~foodie_integrator_leapfrog module~foodie_integrand_object->module~foodie_integrator_multistage_multistep_object module~foodie_integrand_object->module~foodie_integrator_backward_differentiation_formula module~foodie_integrator_runge_kutta_low_storage->module~foodie module~foodie_integrator_multistage_object->module~foodie module~foodie_integrator_multistage_object->module~foodie_integrator_euler_explicit module~foodie_integrator_multistage_object->module~foodie_integrator_runge_kutta_emd module~foodie_integrator_multistage_object->module~foodie_integrator_runge_kutta_lssp module~foodie_integrator_multistage_object->module~foodie_integrator_runge_kutta_ssp module~foodie_integrator_multistage_object->module~foodie_integrator_runge_kutta_low_storage module~foodie_integrator_leapfrog->module~foodie module~foodie_integrator_multistage_multistep_object->module~foodie module~foodie_integrator_multistage_multistep_object->module~foodie_integrator_ms_runge_kutta_ssp module~foodie_integrator_object->module~foodie module~foodie_integrator_object->module~foodie_integrator_adams_bashforth module~foodie_integrator_object->module~foodie_integrator_ms_runge_kutta_ssp module~foodie_integrator_object->module~foodie_integrator_lmm_ssp module~foodie_integrator_object->module~foodie_integrator_euler_explicit module~foodie_integrator_object->module~foodie_integrator_multistep_object module~foodie_integrator_object->module~foodie_integrator_runge_kutta_emd module~foodie_integrator_object->module~foodie_integrator_adams_bashforth_moulton module~foodie_integrator_object->module~foodie_integrator_adams_moulton module~foodie_integrator_object->module~foodie_integrator_runge_kutta_lssp module~foodie_integrator_object->module~foodie_integrator_lmm_ssp_vss module~foodie_integrator_object->module~foodie_integrator_runge_kutta_ssp module~foodie_integrator_object->module~foodie_integrator_runge_kutta_low_storage module~foodie_integrator_object->module~foodie_integrator_multistage_object module~foodie_integrator_object->module~foodie_integrator_leapfrog module~foodie_integrator_object->module~foodie_integrator_multistage_multistep_object module~foodie_integrator_object->module~foodie_integrator_backward_differentiation_formula module~foodie_integrator_backward_differentiation_formula->module~foodie
Help

Define integrand_tester_object, the abstract tester integrand.

Used By

module~~foodie_test_integrand_tester_object~~UsedByGraph module~foodie_test_integrand_tester_object foodie_test_integrand_tester_object module~foodie_test_integrand_lcce foodie_test_integrand_lcce module~foodie_test_integrand_tester_object->module~foodie_test_integrand_lcce module~foodie_test_object foodie_test_object module~foodie_test_integrand_tester_object->module~foodie_test_object module~foodie_test_integrand_oscillation foodie_test_integrand_oscillation module~foodie_test_integrand_tester_object->module~foodie_test_integrand_oscillation module~foodie_test_integrand_ladvection foodie_test_integrand_ladvection module~foodie_test_integrand_tester_object->module~foodie_test_integrand_ladvection module~foodie_test_integrand_lcce->module~foodie_test_object module~foodie_test_lcce_test foodie_test_lcce_test module~foodie_test_integrand_lcce->module~foodie_test_lcce_test program~foodie_tester foodie_tester module~foodie_test_object->program~foodie_tester module~foodie_test_integrand_oscillation->module~foodie_test_object module~foodie_test_oscillation_test foodie_test_oscillation_test module~foodie_test_integrand_oscillation->module~foodie_test_oscillation_test module~foodie_test_integrand_ladvection->module~foodie_test_object program~foodie_test_lcce foodie_test_lcce module~foodie_test_lcce_test->program~foodie_test_lcce program~foodie_test_oscillation foodie_test_oscillation module~foodie_test_oscillation_test->program~foodie_test_oscillation
Help


Abstract Interfaces

abstract interface

Abstract interfaces of integrand_tester_object class.

  • private pure function description_interface(self, prefix) result(desc)

    Return informative integrator description.

    Arguments

    Type IntentOptional AttributesName
    class(integrand_tester_object), intent(in) :: self

    Integrand.

    character(len=*), intent(in), optional :: prefix

    Prefixing string.

    Return Value character(len=:), allocatable

    Description.

abstract interface

Abstract interfaces of integrand_tester_object class.

  • private pure function error_interface(self, t, t0, U0) result(error)

    Return error.

    Arguments

    Type IntentOptional AttributesName
    class(integrand_tester_object), intent(in) :: self

    Integrand.

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

    Time.

    real(kind=R_P), intent(in), optional :: t0

    Initial time.

    class(integrand_object), intent(in), optional :: U0

    Initial conditions.

    Return Value real(kind=R_P), allocatable, (:)

    Error.

abstract interface

Abstract interfaces of integrand_tester_object class.

  • private pure function exact_solution_interface(self, t, t0, U0) result(exact)

    Return exact solution.

    Arguments

    Type IntentOptional AttributesName
    class(integrand_tester_object), intent(in) :: self

    Integrand.

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

    Time.

    real(kind=R_P), intent(in), optional :: t0

    Initial time.

    class(integrand_object), intent(in), optional :: U0

    Initial conditions.

    Return Value real(kind=R_P), allocatable, (:)

    Exact solution.

abstract interface

Abstract interfaces of integrand_tester_object class.

  • private subroutine export_tecplot_interface(self, file_name, t, scheme, close_file, with_exact_solution, U0)

    Export integrand to Tecplot file.

    Arguments

    Type IntentOptional AttributesName
    class(integrand_tester_object), intent(in) :: self

    Integrand.

    character(len=*), intent(in), optional :: file_name

    File name.

    real(kind=R_P), intent(in), optional :: t

    Time.

    character(len=*), intent(in), optional :: scheme

    Scheme used to integrate integrand.

    logical, intent(in), optional :: close_file

    Flag for closing file.

    logical, intent(in), optional :: with_exact_solution

    Flag for export also exact solution.

    class(integrand_object), intent(in), optional :: U0

    Initial conditions.

abstract interface

Abstract interfaces of integrand_tester_object class.

  • private subroutine initialize_interface(self, Dt)

    Initialize integrand.

    Arguments

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

    Integrand.

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

    Time step.

abstract interface

Abstract interfaces of integrand_tester_object class.

  • private subroutine parse_cli_interface(self, cli)

    Initialize from command line interface.

    Arguments

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

    Integrand.

    type(command_line_interface), intent(inout) :: cli

    Command line interface handler.

abstract interface

Abstract interfaces of integrand_tester_object class.

  • private subroutine set_cli_interface(cli)

    Set command line interface.

    Arguments

    Type IntentOptional AttributesName
    type(command_line_interface), intent(inout) :: cli

    Command line interface handler.


Derived Types

type, public, abstract, extends(integrand_object) :: integrand_tester_object

The abstract tester integrand.

Type-Bound Procedures

generic, public :: add_fast => integrand_add_integrand_fast

Overloading add_fast method.

procedure(assignment_integrand), public, pass(lhs) :: assign_integrand

= operator.

procedure(assignment_real), public, pass(lhs) :: assign_real

= real operator.

generic, public :: assignment(=) => assign_integrand, assign_real

Overloading = assignament.

procedure(description_interface), public, pass(self) :: description

Return an informative description of the test.

procedure(error_interface), public, pass(self) :: error

Return error.

procedure(exact_solution_interface), public, pass(self) :: exact_solution

Return exact solution.

procedure(export_tecplot_interface), public, pass(self) :: export_tecplot

Export integrand to Tecplot file.

procedure(initialize_interface), public, pass(self) :: initialize

Initialize integrand.

procedure(symmetric_operator), public, pass(lhs) :: integrand_add_integrand

+ operator.

procedure, public, pass(opr) :: integrand_add_integrand_fast

+ fast operator.

procedure(integrand_op_real), public, pass(lhs) :: integrand_add_real

+ real operator.

procedure(integrand_dimension_interface), public, pass(self) :: integrand_dimension

Return integrand dimension.

procedure(symmetric_operator), public, pass(lhs) :: integrand_multiply_integrand

* operator.

procedure, public, pass(opr) :: integrand_multiply_integrand_fast

* fast operator.

procedure(integrand_op_real), public, pass(lhs) :: integrand_multiply_real

* real operator.

procedure(integrand_op_real_scalar), public, pass(lhs) :: integrand_multiply_real_scalar

* real_scalar operator.

procedure, public, pass(opr) :: integrand_multiply_real_scalar_fast

* real_scalar fast operator.

procedure(symmetric_operator), public, pass(lhs) :: integrand_sub_integrand

- operator.

procedure(integrand_op_real), public, pass(lhs) :: integrand_sub_real

- real operator.

procedure, public, pass(opr) :: integrand_subtract_integrand_fast

- fast operator.

procedure(local_error_operator), public, pass(lhs) :: local_error

||integrand - integrand|| operator.

generic, public :: multiply_fast => integrand_multiply_integrand_fast, integrand_multiply_real_scalar_fast

Overloading multiply_fast method.

generic, public :: operator(*) => integrand_multiply_integrand, integrand_multiply_real, real_multiply_integrand, integrand_multiply_real_scalar, real_scalar_multiply_integrand

Overloading * operator.

generic, public :: operator(+) => integrand_add_integrand, integrand_add_real, real_add_integrand

Overloading + operator.

generic, public :: operator(-) => integrand_sub_integrand, integrand_sub_real, real_sub_integrand

Overloading - operator.

generic, public :: operator(.lterror.) => local_error

Estimate local truncation error.

procedure(parse_cli_interface), public, pass(self) :: parse_cli

Initialize from command line interface.

procedure(real_op_integrand), public, pass(rhs) :: real_add_integrand

real + operator.

procedure(real_op_integrand), public, pass(rhs) :: real_multiply_integrand

real * operator.

procedure(real_scalar_op_integrand), public, pass(rhs) :: real_scalar_multiply_integrand

real_scalar * operator.

procedure(real_op_integrand), public, pass(rhs) :: real_sub_integrand

real - operator.

procedure(set_cli_interface), public, nopass :: set_cli

Set command line interface.

generic, public :: subtract_fast => integrand_subtract_integrand_fast

Overloading subtract_fast method.

procedure(time_derivative), public, pass(self) :: t

Time derivative, residuals.

procedure, public, pass(self) :: t_fast

Time derivative, residuals, fast mode.