Definition of test_object for FOODIE tester factory.
Generic FOODIE test object.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
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. |
procedure, public, pass(self) :: execute | Execute selected test(s). |
procedure, private, pass(self) :: initialize | Initialize test: set Command Line Interface, parse it and check its validity. |
Estimate the order of accuracy using 2 subsequent refined numerical solutions.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=R_P), | intent(in) | :: | error(1:,1:) | Computed errors. |
||
real(kind=R_P), | intent(in) | :: | Dt(1:) | Time steps used. |
Estimation of the order of accuracy.
Check if a scheme support fast mode integrate.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | scheme | Scheme name. |
||
class(integrator_object), | intent(in) | :: | integrator | Integrator instance. |
Execute test(s).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(test_object), | intent(inout) | :: | self | Test. |
Initialize test: set Command Line Interface, parse it and check its validity.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(test_object), | intent(inout) | :: | self | Test. |
Integrate integrand by means of the given scheme.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | scheme | Selected scheme. |
||
class(integrand_tester_object), | intent(in) | :: | integrand_0 | Initial conditions. |
||
real(kind=R_P), | intent(in) | :: | Dt | Time step. |
||
real(kind=R_P), | intent(in) | :: | final_time | Final integration time. |
||
integer(kind=I_P), | intent(in) | :: | iterations | Number of fixed point iterations. |
||
integer(kind=I_P), | intent(in) | :: | stages | Number of stages. |
||
logical, | intent(in) | :: | is_fast | Activate fast mode integration. |
||
logical, | intent(in) | :: | save_results | Save results. |
||
character(len=*), | intent(in) | :: | output_base_name | Base name of output results file. |
||
integer(kind=I_P), | intent(in) | :: | save_frequency | Save frequency. |
||
real(kind=R_P), | intent(out) | :: | error(:) | Error of integrand integration. |