Class to handle linear constant coefficients equation test(s).
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.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=R_P), | private, | allocatable | :: | Dt(:) | Time step(s) exercised. |
||
real(kind=R_P), | private | :: | U0 | = | 0._R_P | Initial conditions. |
|
real(kind=R_P), | private | :: | a | = | 0._R_P | a coefficient. |
|
real(kind=R_P), | private | :: | b | = | 0._R_P | b coefficient. |
|
type(command_line_interface), | private | :: | cli | Command line interface handler. |
|||
integer(kind=I_P), | private | :: | error | = | 0 | Error handler. |
|
logical, | private | :: | errors_analysis | = | .false. | Flag for activating errors analysis. |
|
logical, | private | :: | exact_solution | = | .false. | Flag for activating exact solution saving. |
|
real(kind=R_P), | private | :: | final_time | = | 0.0_R_P | Final integration time. |
|
integer(kind=I_P), | private | :: | implicit_iterations | = | 0 | Number of iterations (implicit solvers). |
|
logical, | private | :: | is_fast | = | .false. | Flag for activating fast schemes. |
|
character(len=99), | private | :: | output | = | '' | Output files basename. |
|
logical, | private | :: | results | = | .false. | Flag for activating results saving. |
|
character(len=99), | private | :: | scheme | = | '' | Scheme used. |
|
integer(kind=I_P), | private | :: | stages | = | 0 | Number of stages. |
Execute selected test(s).
Initialize test: set Command Line Interface, parse it and check its validity.
Initialize test: set Command Line Interface, parse it and check its validity.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(lcce_test), | intent(inout) | :: | self | Test. |
type :: lcce_test
!< Class to handle linear constant coefficients equation test(s).
!<
!< 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=0 !< Error handler.
character(99) :: scheme='' !< Scheme used.
logical :: is_fast=.false. !< Flag for activating fast schemes.
integer(I_P) :: implicit_iterations=0 !< Number of iterations (implicit solvers).
integer(I_P) :: stages=0 !< Number of stages.
real(R_P), allocatable :: Dt(:) !< Time step(s) exercised.
real(R_P) :: a=0._R_P !< *a* coefficient.
real(R_P) :: b=0._R_P !< *b* coefficient.
real(R_P) :: U0=0._R_P !< Initial conditions.
real(R_P) :: final_time=0.0_R_P !< Final integration time.
logical :: results=.false. !< Flag for activating results saving.
character(99) :: output='' !< Output files basename.
logical :: exact_solution=.false. !< Flag for activating exact solution saving.
logical :: errors_analysis=.false. !< Flag for activating errors analysis.
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.
procedure, pass(self), private :: test !< Perform the test.
endtype lcce_test