splitting_t Derived Type

type, public, abstract :: splitting_t

Splitting solver


Type-Bound Procedures

procedure(create_abstract), public, deferred :: create

  • module subroutine create_abstract(self, mesh) Prototype

    Creates a splitting solver

    Arguments

    Type IntentOptional Attributes Name
    class(splitting_t), intent(inout) :: self

    Instance of the type

    type(mesh_cart_t), intent(in), target :: mesh

    Mesh

procedure(apply_abstract), public, deferred :: apply

  • module subroutine apply_abstract(self, a, dinv, x, b) Prototype

    Applies a single iteration of a splitting solver

    Arguments

    Type IntentOptional Attributes Name
    class(splitting_t), intent(inout) :: self

    Instance of the type

    type(csrmat_t), intent(in) :: a

    Matrix

    real(kind=FP), intent(in), dimension(self%ndim) :: dinv

    Inverse of the diagonal elements of the matrix "a"

    real(kind=FP), intent(inout), dimension(self%ndim) :: x

    Quantity to be smoothed

    real(kind=FP), intent(in), dimension(self%ndim) :: b

    Right hand side