The abstract tester integrand.
This abstract provided some auxiliary methods useful for the tester machinery.
Overloading add_fast method.
+ fast operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_oscillation), | intent(inout) | :: | opr | Operator result. |
||
| class(integrand_object), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
= operator.
Symmetric assignment integrand = integrand.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(inout) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
= real operator.
Symmetric assignment integrand = integrand.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(inout) | :: | lhs | Left hand side. |
||
| real(kind=R_P), | intent(in) | :: | rhs(1:) | Right hand side. |
Overloading = assignament.
= operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_oscillation), | intent(inout) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
= real operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_oscillation), | intent(inout) | :: | lhs | Left hand side. |
||
| real(kind=R_P), | intent(in) | :: | rhs(1:) | Right hand side. |
Return an informative description of the test.
Return informative integrator description.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_tester_object), | intent(in) | :: | self | Integrand. |
||
| character(len=*), | intent(in), | optional | :: | prefix | Prefixing string. |
Description.
Return error.
Return error.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| 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. |
Error.
Return exact solution.
Return exact solution.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| 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. |
Exact solution.
Export integrand to Tecplot file.
Export integrand to Tecplot file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| 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. |
Initialize integrand.
Initialize integrand.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_tester_object), | intent(inout) | :: | self | Integrand. |
||
| real(kind=R_P), | intent(in) | :: | Dt | Time step. |
+ operator.
Symmetric type operator integrand.op.integrand.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
+ fast operator.
+ fast operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(inout) | :: | opr | Operator result. |
||
| class(integrand_object), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
+ real operator.
Asymmetric type operator integrand.op.real.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R_P), | intent(in) | :: | rhs(1:) | Right hand side. |
Operator result.
Return integrand dimension.
Return integrand dimension.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(in) | :: | self | Integrand. |
Integrand dimension.
* operator.
Symmetric type operator integrand.op.integrand.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
* fast operator.
* fast operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(inout) | :: | opr | Operator result. |
||
| class(integrand_object), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
* real operator.
Asymmetric type operator integrand.op.real.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R_P), | intent(in) | :: | rhs(1:) | Right hand side. |
Operator result.
* real_scalar operator.
Asymmetric type operator integrand.op.real.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R_P), | intent(in) | :: | rhs | Right hand side. |
Operator result.
* real_scalar fast operator.
* real_scalar fast operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(inout) | :: | opr | Operator result. |
||
| class(integrand_object), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R_P), | intent(in) | :: | rhs | Right hand side. |
- operator.
Symmetric type operator integrand.op.integrand.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
- real operator.
Asymmetric type operator integrand.op.real.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R_P), | intent(in) | :: | rhs(1:) | Right hand side. |
Operator result.
- fast operator.
- fast operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(inout) | :: | opr | Operator result. |
||
| class(integrand_object), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
||integrand - integrand|| operator.
Estimate local truncation error between 2 solution approximations.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
Error estimation.
Overloading multiply_fast method.
* fast operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_oscillation), | intent(inout) | :: | opr | Operator result. |
||
| class(integrand_object), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
* real_scalar fast operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_oscillation), | intent(inout) | :: | opr | Operator result. |
||
| class(integrand_object), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R_P), | intent(in) | :: | rhs | Right hand side. |
Overloading * operator.
* operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_oscillation), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
* real_scalar operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_oscillation), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R_P), | intent(in) | :: | rhs(1:) | Right hand side. |
Operator result.
real_scalar * operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R_P), | intent(in) | :: | lhs(1:) | Left hand side. |
||
| class(integrand_oscillation), | intent(in) | :: | rhs | Right hand side. |
Operator result.
* real_scalar operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_oscillation), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R_P), | intent(in) | :: | rhs | Right hand side. |
Operator result.
real_scalar * operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R_P), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand_oscillation), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Overloading + operator.
+ operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_oscillation), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
+ real operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_oscillation), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R_P), | intent(in) | :: | rhs(1:) | Right hand side. |
Operator result.
real + operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R_P), | intent(in) | :: | lhs(1:) | Left hand side. |
||
| class(integrand_oscillation), | intent(in) | :: | rhs | Left hand side. |
Operator result.
Overloading - operator.
- operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_oscillation), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
- real operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_oscillation), | intent(in) | :: | lhs | Left hand side. |
||
| real(kind=R_P), | intent(in) | :: | rhs(1:) | Right hand side. |
Operator result.
real - operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R_P), | intent(in) | :: | lhs(1:) | Left hand side. |
||
| class(integrand_oscillation), | intent(in) | :: | rhs | Left hand side. |
Operator result.
Estimate local truncation error.
Estimate local truncation error between 2 oscillation approximations.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_oscillation), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
Error estimation.
Initialize from command line interface.
Initialize from command line interface.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_tester_object), | intent(inout) | :: | self | Integrand. |
||
| type(command_line_interface), | intent(inout) | :: | cli | Command line interface handler. |
real + operator.
Asymmetric type operator real.op.integrand.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R_P), | intent(in) | :: | lhs(1:) | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
real * operator.
Asymmetric type operator real.op.integrand.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R_P), | intent(in) | :: | lhs(1:) | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
real_scalar * operator.
Asymmetric type operator real.op.integrand.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R_P), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
real - operator.
Asymmetric type operator real.op.integrand.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=R_P), | intent(in) | :: | lhs(1:) | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
Operator result.
Set command line interface.
Set command line interface.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(command_line_interface), | intent(inout) | :: | cli | Command line interface handler. |
Overloading subtract_fast method.
- fast operator.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_oscillation), | intent(inout) | :: | opr | Operator result. |
||
| class(integrand_object), | intent(in) | :: | lhs | Left hand side. |
||
| class(integrand_object), | intent(in) | :: | rhs | Right hand side. |
Time derivative, residuals.
Time derivative function of integrand class, i.e. the residuals function.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(in) | :: | self | Integrand field. |
||
| real(kind=R_P), | intent(in), | optional | :: | t | Time. |
Result of the time derivative function of integrand field.
Time derivative, residuals, fast mode.
Time derivative function of integrand class, i.e. the residuals function. Fast mode acting directly on self.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(integrand_object), | intent(inout) | :: | self | Integrand field. |
||
| real(kind=R_P), | intent(in), | optional | :: | t | Time. |
type, abstract, extends(integrand_object) :: integrand_tester_object
!< The abstract tester integrand.
!<
!< This abstract provided some auxiliary methods useful for the tester machinery.
contains
procedure(description_interface), pass(self), deferred :: description !< Return an informative description of the test.
procedure(error_interface), pass(self), deferred :: error !< Return error.
procedure(exact_solution_interface), pass(self), deferred :: exact_solution !< Return exact solution.
procedure(export_tecplot_interface), pass(self), deferred :: export_tecplot !< Export integrand to Tecplot file.
procedure(initialize_interface), pass(self), deferred :: initialize !< Initialize integrand.
procedure(parse_cli_interface), pass(self), deferred :: parse_cli !< Initialize from command line interface.
procedure(set_cli_interface), nopass, deferred :: set_cli !< Set command line interface.
endtype integrand_tester_object