test_object Derived Type

type, public :: test_object

type~~test_object~~InheritsGraph type~test_object test_object command_line_interface command_line_interface command_line_interface->type~test_object cli type~integrand_lcce integrand_lcce type~integrand_lcce->type~test_object lcce_0 type~integrand_tester_object integrand_tester_object type~integrand_tester_object->type~test_object integrand_0 type~integrand_tester_object->type~integrand_lcce type~integrand_oscillation integrand_oscillation type~integrand_tester_object->type~integrand_oscillation type~integrand_ladvection integrand_ladvection type~integrand_tester_object->type~integrand_ladvection type~integrand_oscillation->type~test_object oscillation_0 type~integrand_ladvection->type~test_object ladvection_0 type~integrand_object integrand_object type~integrand_object->type~integrand_tester_object interpolator_object interpolator_object interpolator_object->type~integrand_ladvection interpolator
Help


Generic FOODIE test object.

Test is driven by the Command Line Interface (CLI) options.

Test has only 1 public method execute: it executes test(s) accordingly to cli options.


Source Code


Components

TypeVisibility AttributesNameInitial
real(kind=R_P), private, allocatable:: Dt(:)

Time step(s) exercised.

type(command_line_interface), private :: cli

Command line interface handler.

integer(kind=I_P), private :: error

Error handler.

real(kind=R_P), private :: final_time

Final integration time.

integer(kind=I_P), private :: implicit_iterations

Number of iterations (implicit solvers).

class(integrand_tester_object), private, allocatable:: integrand_0

Initial conditions.

logical, private :: is_fast

Flag for activating fast schemes.

type(integrand_ladvection), private :: ladvection_0

Initial conditions for linear advection test.

type(integrand_lcce), private :: lcce_0

Initial conditions for linear constant coefficients eq.

type(integrand_oscillation), private :: oscillation_0

Initial conditions for oscillation test.

character(len=99), private :: output

Output files basename.

integer(kind=I_P), private :: save_frequency

Save frequency.

logical, private :: save_results

Flag for activating results saving.

character(len=99), private :: scheme

Scheme used.

integer(kind=I_P), private :: stages

Number of stages.


Type-Bound Procedures

procedure, public, pass(self) :: execute

Execute selected test(s).

  • private subroutine execute(self)

    Execute test(s).

    Arguments

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

    Test.

procedure, private, pass(self) :: initialize

Initialize test: set Command Line Interface, parse it and check its validity.

  • private subroutine initialize(self)

    Initialize test: set Command Line Interface, parse it and check its validity.

    Arguments

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

    Test.

Source Code

type :: test_object
   !< Generic FOODIE test object.
   !<
   !< Test is driven by the Command Line Interface (CLI) options.
   !<
   !< Test has only 1 public method `execute`: it executes test(s) accordingly to cli options.
   private
   type(command_line_interface)                :: cli                 !< Command line interface handler.
   integer(I_P)                                :: error               !< Error handler.
   character(99)                               :: scheme              !< Scheme used.
   real(R_P), allocatable                      :: Dt(:)               !< Time step(s) exercised.
   logical                                     :: is_fast             !< Flag for activating fast schemes.
   integer(I_P)                                :: implicit_iterations !< Number of iterations (implicit solvers).
   integer(I_P)                                :: stages              !< Number of stages.
   real(R_P)                                   :: final_time          !< Final integration time.
   logical                                     :: save_results        !< Flag for activating results saving.
   character(99)                               :: output              !< Output files basename.
   integer(I_P)                                :: save_frequency      !< Save frequency.
   type(integrand_lcce)                        :: lcce_0              !< Initial conditions for linear constant coefficients eq.
   type(integrand_ladvection)                  :: ladvection_0        !< Initial conditions for linear advection test.
   type(integrand_oscillation)                 :: oscillation_0       !< Initial conditions for oscillation test.
   class(integrand_tester_object), allocatable :: integrand_0         !< Initial conditions.
   contains
      ! public methods
      procedure, pass(self) :: execute !< Execute selected test(s).
      ! private methods
      procedure, pass(self), private :: initialize !< Initialize test: set Command Line Interface, parse it and check its validity.
endtype test_object