Base type to extend in order to define a complex(dp)-valued system for Newton fixed-point iteration via the Jacobian.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
class(abstract_jacobian_linop_cdp), | public, | allocatable | :: | jacobian |
System Jacobian . |
Wrapper for response including the counter increment
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(abstract_system_cdp), | intent(inout) | :: | self | |||
class(abstract_vector_cdp), | intent(in) | :: | vec_in | |||
class(abstract_vector_cdp), | intent(out) | :: | vec_out | |||
real(kind=dp), | intent(in) | :: | atol |
Finalize timer and print complete history
Finalize the system evaluation timer and print summary. Note: Wrapper of the corresponding routine from lightkrylov_timer
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(abstract_system), | intent(inout) | :: | self |
Return eval counter value
Getter function for the number of system evaluations.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(abstract_system), | intent(in) | :: | self |
Print current timing data
Print the current timing data for the system evaluation. Note: Wrapper of the corresponding routine from lightkrylov_timer
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(abstract_system), | intent(inout) | :: | self |
Reset eval counter
Setter function to reset the system evaluation counter.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(abstract_system), | intent(inout) | :: | self | |||
character(len=*), | intent(in) | :: | procedure |
name of the caller routine |
||
integer, | intent(in), | optional | :: | counter |
optional flag to reset to an integer other than zero. |
|
logical, | intent(in), | optional | :: | reset_timer |
optional flag to reset also the timer |
|
logical, | intent(in), | optional | :: | soft_reset |
optional flag to choose whether to save previous timing data (default: .true.) |
|
logical, | intent(in), | optional | :: | clean_timer |
optional flag to choose whether to fully reset the timer (default: .false.) |
Reset current timing data
Setter routine to reset the system evaluation timer. Note: Wrapper of the corresponding routine from lightkrylov_timer
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(abstract_system), | intent(inout) | :: | self | |||
logical, | intent(in), | optional | :: | soft | ||
logical, | intent(in), | optional | :: | clean |
Procedure to evaluate the system response .
Interface for the evaluation of the system response.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(abstract_system_cdp), | intent(inout) | :: | self |
System |
||
class(abstract_vector_cdp), | intent(in) | :: | vec_in |
State |
||
class(abstract_vector_cdp), | intent(out) | :: | vec_out |
Response |
||
real(kind=dp), | intent(in) | :: | atol |
Solver tolerance |
type, abstract, extends(abstract_system), public :: abstract_system_cdp !! Base type to extend in order to define a complex(dp)-valued system for !! Newton fixed-point iteration via the Jacobian. class(abstract_jacobian_linop_cdp), allocatable :: jacobian !! System Jacobian \( \left. \frac{\partial \mathbf{F}}{\partial \mathbf{X}} \right|_{X^*} \). contains private procedure(abstract_eval_cdp), pass(self), deferred, public :: response !! Procedure to evaluate the system response \( \mathbf{Y} = \mathbf{F}(\mathbf{X}) \). ! Wrapper including counter increment procedure, pass(self), public :: eval => eval_cdp !! Wrapper for response including the counter increment end type abstract_system_cdp