NESSie.BEM

Solvers

NESSie.BEM._get_laplace_matricesFunction
_get_laplace_matrices(
    Ξ       ::Vector{Vector{T}},
    elements::Vector{Triangle{T}}
)

Constructs and returns implicit representations for the single- and double-layer Laplace potential matrices V and K for the given observation points and surface elements.

Return type

Tuple{InteractionMatrix{T}, InteractionMatrix{T}}

source
NESSie.BEM._get_yukawa_matricesFunction
_get_yukawa_matrices(
    Ξ       ::Vector{Vector{T}},
    elements::Vector{Triangle{T}},
    yuk     ::T
)

Constructs and returns implicit representations for the single- and double-layer Yukawa potential matrices V^Y and K^Y for the given observation points and surface elements.

Return type

Tuple{InteractionMatrix{T}, InteractionMatrix{T}}

source
NESSie.BEM._solve_explicitFunction
_solve_explicit(
         ::Type{<: LocalityType},
    model::Model{T, Triangle{T}}
)

Computes the full local or nonlocal cauchy data on the surface of the biomolecule using an explicit representation of the BEM system.

Return type

LocalBEMResult{T, Triangle{T}} or NonlocalBEMResult{T, Triangle{T}}

source
NESSie.BEM._solve_implicitFunction
_solve_implicit(
         ::Type{<: LocalityType},
    model::Model{T, Triangle{T}}
)

Computes the full local or nonlocal cauchy data on the surface of the biomolecule using an implicit representation of the BEM system.

Return type

LocalBEMResult{T, Triangle{T}} or NonlocalBEMResult{T, Triangle{T}}

source
NESSie.BEM._solve_linear_systemFunction
_solve_linear_system(
    A::AbstractArray{T, 2},
    b::AbstractArray{T, 1}
)

Solves the linear system Ax = b from A and b using a Jacobi-preconditioned GMRES solver.

Return type

Array{T, 1}

source

Implicit potential matrices

NESSie.BEM.KfunType
struct Kfun{T} <: InteractionFunction{Vector{T}, Triangle{T}, T}
    dat::Vector{T}   # pre-allocated vector for internal use
end

Interaction function for an implicit representation of potential matrix K.

Special constructors

Kfun{T}()

Automatically initializes the internal data vector. Replaces the default constructor.

source
NESSie.BEM.KyfunType
struct Kyfun{T} <: InteractionFunction{Vector{T}, Triangle{T}, T}
    yuk::T   # exponent of the Yukawa operator's fundamental solution
end

Interaction function for an implicit representation of potential matrix .

source
NESSie.BEM.VfunType
struct Vfun{T} <: InteractionFunction{Vector{T}, Triangle{T}, T}
    dat::Vector{T}   # pre-allocated vector for internal use
end

Interaction function for an implicit representation of potential matrix V.

Special constructors

Vfun{T}()

Automatically initializes the internal data vector. Replaces the default constructor.

source
NESSie.BEM.VyfunType
struct Vyfun{T} <: InteractionFunction{Vector{T}, Triangle{T}, T}
    yuk::T   # exponent of the Yukawa operator's fundamental solution
end

Interaction function for an implicit representation of potential matrix .

source

Implicit system matrices

NESSie.BEM.LocalSystemMatrixType
struct LocalSystemMatrix{T} <: AbstractArray{T, 2}
    K     ::InteractionMatrix{T}   # double-layer Laplace
    params::Option{T}              # System constants
end

Implicit representation of the first local BEM system matrix.

source
NESSie.BEM.NonlocalSystemMatrixType
struct NonlocalSystemMatrix{T} <: AbstractArray{T, 2}
    V     ::InteractionMatrix{T}   # single-layer Laplace
    K     ::InteractionMatrix{T}   # double-layer Laplace
    Vy    ::InteractionMatrix{T}   # single-layer Yukawa
    Ky    ::InteractionMatrix{T}   # double-layer Yukawa
    params::Option{T}              # system constants
end

Implicit representation of the nonlocal BEM system matrix.

Special constructors

source