Define the abstract type integrator_object of FOODIE ODE integrators.
Abstract interfaces of deferred methods of integrator_object.
Operator =
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(integrator_object), | intent(inout) | :: | lhs | Left hand side. |
||
class(integrator_object), | intent(in) | :: | rhs | Right hand side. |
Abstract interfaces of deferred methods of integrator_object.
Return the class name of schemes.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(integrator_object), | intent(in) | :: | self | Integrator. |
Class name.
Abstract interfaces of deferred methods of integrator_object.
Return a pretty-formatted object description.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(integrator_object), | intent(in) | :: | self | Integrator. |
||
character(len=*), | intent(in), | optional | :: | prefix | Prefixing string. |
Description.
Abstract interfaces of deferred methods of integrator_object.
Return .true. if the integrator class has fast mode integrate.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(integrator_object), | intent(in) | :: | self | Integrator. |
Inquire result.
Abstract interfaces of deferred methods of integrator_object.
Return .true. for multistage or multistep integrator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(integrator_object), | intent(in) | :: | self | Integrator. |
Inquire result.
Abstract interfaces of deferred methods of integrator_object.
Return .true. if the integrator class support the given scheme.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(integrator_object), | intent(in) | :: | self | Integrator. |
||
character(len=*), | intent(in) | :: | scheme | Queried scheme. |
Inquire result.
Abstract interfaces of deferred methods of integrator_object.
Return number of stages/steps used.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(integrator_object), | intent(in) | :: | self | Integrator. |
Inquire result.
Abstract interfaces of deferred methods of integrator_object.
Return the list of supported schemes.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(integrator_object), | intent(in) | :: | self | Integrator. |
Queried scheme.
Abstract type of FOODIE ODE integrators.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=:), | public, | allocatable | :: | description_ | Informative description of the integrator. |
||
integer(kind=I_P), | public | :: | error | = | 0 | Error status code. |
|
character(len=:), | public, | allocatable | :: | error_message | Error message, hopefully meaningful. |
procedure, public, pass(lhs) :: assign_abstract | Assign ony members of abstract integrator_object type. |
generic, public :: assignment(=) => integr_assign_integr | Overload |
procedure, public, pass(self) :: check_error | Check for error occurrencies. |
procedure(class_name_interface), public, pass(self) :: class_name | Return the class name of schemes. |
procedure, public, pass(self) :: description | Return informative integrator description. |
procedure, public, pass(self) :: destroy_abstract | Destroy only members of abstract integrator_object type. |
procedure(has_fast_mode_interface), public, pass(self) :: has_fast_mode | Return .true. if the integrator class has fast mode integrate. |
procedure(assignment_interface), public, pass(lhs) :: integr_assign_integr | Operator |
procedure(is_multistagestep_interface), public, pass(self) :: is_multistage | Return .true. for multistage integrator. |
procedure(is_multistagestep_interface), public, pass(self) :: is_multistep | Return .true. for multistep integrator. |
procedure(is_supported_interface), public, pass(self) :: is_supported | Return .true. if the integrator class support the given scheme. |
procedure(stagesteps_number_interface), public, pass(self) :: stages_number | Return number of stages used. |
procedure(stagesteps_number_interface), public, pass(self) :: steps_number | Return number of steps used. |
procedure(supported_schemes_interface), public, pass(self) :: supported_schemes | Return the list of supported schemes. |
procedure, public, pass(self) :: trigger_error | Trigger an error. |
Return informative integrator description.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(integrator_object), | intent(in) | :: | self | Integrator. |
||
character(len=*), | intent(in), | optional | :: | prefix | Prefixing string. |
Description.
Assign ony members of abstract integrator_object type.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(integrator_object), | intent(inout) | :: | lhs | Left hand side. |
||
class(integrator_object), | intent(in) | :: | rhs | Right hand side. |
Check for error occurencies.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(integrator_object), | intent(in) | :: | self | Integrator. |
||
logical, | intent(in), | optional | :: | is_severe | Flag to activate severe faliure, namely errors trigger a stop. |
Destroy only members of abstract integrator_object type.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(integrator_object), | intent(inout) | :: | self | Integrator. |
Check for error occurencies.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(integrator_object), | intent(inout) | :: | self | Integrator. |
||
integer(kind=I_P), | intent(in) | :: | error | Error status code. |
||
character(len=*), | intent(in), | optional | :: | error_message | Error message, hopefully meaningful. |
|
logical, | intent(in), | optional | :: | is_severe | Flag to activate severe faliure, namely errors trigger a stop. |