LightKrylov_AbstractSystems Module

This module provides the abstract types necessary to define an algebraic system of nonlinear equations to be solved using the Newton method.



Derived Types

type, public, abstract, extends(abstract_linop_cdp) ::  abstract_jacobian_linop_cdp

Abstract type for the local linearization of the system around the state X

Components

Type Visibility Attributes Name Initial
class(abstract_vector_cdp), public, allocatable :: X

System state around which the equatons are linearized.

Type-Bound Procedures

procedure(abstract_matvec_cdp), public, deferred, pass(self) :: matvec ../../

Procedure to compute the matrix-vector product .

procedure(abstract_matvec_cdp), public, deferred, pass(self) :: rmatvec ../../

Procedure to compute the reversed matrix-vector product .

type, public, abstract, extends(abstract_linop_csp) ::  abstract_jacobian_linop_csp

Abstract type for the local linearization of the system around the state X

Components

Type Visibility Attributes Name Initial
class(abstract_vector_csp), public, allocatable :: X

System state around which the equatons are linearized.

Type-Bound Procedures

procedure(abstract_matvec_csp), public, deferred, pass(self) :: matvec ../../

Procedure to compute the matrix-vector product .

procedure(abstract_matvec_csp), public, deferred, pass(self) :: rmatvec ../../

Procedure to compute the reversed matrix-vector product .

type, public, abstract, extends(abstract_linop_rdp) ::  abstract_jacobian_linop_rdp

Abstract type for the local linearization of the system around the state X

Components

Type Visibility Attributes Name Initial
class(abstract_vector_rdp), public, allocatable :: X

System state around which the equatons are linearized.

Type-Bound Procedures

procedure(abstract_matvec_rdp), public, deferred, pass(self) :: matvec ../../

Procedure to compute the matrix-vector product .

procedure(abstract_matvec_rdp), public, deferred, pass(self) :: rmatvec ../../

Procedure to compute the reversed matrix-vector product .

type, public, abstract, extends(abstract_linop_rsp) ::  abstract_jacobian_linop_rsp

Abstract type for the local linearization of the system around the state X

Components

Type Visibility Attributes Name Initial
class(abstract_vector_rsp), public, allocatable :: X

System state around which the equatons are linearized.

Type-Bound Procedures

procedure(abstract_matvec_rsp), public, deferred, pass(self) :: matvec ../../

Procedure to compute the matrix-vector product .

procedure(abstract_matvec_rsp), public, deferred, pass(self) :: rmatvec ../../

Procedure to compute the reversed matrix-vector product .

type, public, abstract ::  abstract_system

type, public, abstract, extends(abstract_system) ::  abstract_system_cdp

System for Newton fixed-point iteration via the Jacobian

Components

Type Visibility Attributes Name Initial
class(abstract_jacobian_linop_cdp), public, allocatable :: jacobian

System Jacobian .

Type-Bound Procedures

procedure(abstract_eval_cdp), public, deferred, pass(self) :: eval ../../

Procedure to evaluate the system response .

type, public, abstract, extends(abstract_system) ::  abstract_system_csp

System for Newton fixed-point iteration via the Jacobian

Components

Type Visibility Attributes Name Initial
class(abstract_jacobian_linop_csp), public, allocatable :: jacobian

System Jacobian .

Type-Bound Procedures

procedure(abstract_eval_csp), public, deferred, pass(self) :: eval ../../

Procedure to evaluate the system response .

type, public, abstract, extends(abstract_system) ::  abstract_system_rdp

System for Newton fixed-point iteration via the Jacobian

Components

Type Visibility Attributes Name Initial
class(abstract_jacobian_linop_rdp), public, allocatable :: jacobian

System Jacobian .

Type-Bound Procedures

procedure(abstract_eval_rdp), public, deferred, pass(self) :: eval ../../

Procedure to evaluate the system response .

type, public, abstract, extends(abstract_system) ::  abstract_system_rsp

System for Newton fixed-point iteration via the Jacobian

Components

Type Visibility Attributes Name Initial
class(abstract_jacobian_linop_rsp), public, allocatable :: jacobian

System Jacobian .

Type-Bound Procedures

procedure(abstract_eval_rsp), public, deferred, pass(self) :: eval ../../

Procedure to evaluate the system response .