Utility functions

GeometryBasics.RectType
GeometryBasics.Rect(model::Model{T, Triangle{T}})

Creates and returns a bounding box for the given model.

Supported keyword arguments

  • padding::T = 0 Adds padding to each side of the (otherwise flush) bounding box, effectively increasing its size by 2 ⋅ padding in each direction.

Return type

GeometryBasics.Rect3{T}

source
NESSie.guess_domainFunction
guess_domain(ξ::Vector{T}, model::Model{T, Triangle{T}})

Make an educated guess whether the given observation point ξ is located in the protein domain Ω, the solvent domain Σ, or the surface domain Γ.

The domain is determined based on the relative position to the triangle with the closest centroid.

Supported keyword arguments

  • surface_margin::T = 1e-3 maximum |cos| ⋅ norm allowed between the vector from the closest triangle's centroid to ξ and the triangle's unit normal vector before ξ is no longer considered to be part of the Γ domain.

Return type

Symbol (, , or )

Alias

guess_domain(Ξ::Vector{Vector{T}}, model::Model{T, Triangle{T}})

Determines the domain of each observation point ξΞ.

source
NESSie.meshunionFunction
meshunion(
    model1::Model{T, Tetrahedron{T}},
    model2::Model{T, Tetrahedron{T}}
)

Merges two volume models, e.g., the models of a protein and the solvent. Duplicate nodes (e.g., the nodes on the protein surface) are merged into a single node, duplicate elements and charges (if any) are retained as well as the system constants of the first model.

Return type

Model{T, Tetrahedron{T}}

Note

This function assumes that there are no duplicates within either of the node lists!

source
NESSie.obspoints_planeFunction
obspoints_plane(
    a  ::AbstractVector{T},
    b  ::AbstractVector{T},
    c  ::AbstractVector{T},
    nba::Int,
    nbc::Int
)

Generates nbanbc evenly distributed observation points on the parallelogram with the sides $\overline{BA}$ and $\overline{BC}$ and a, b, c being the location vectors to the points $A$, $B$, and $C$, respectively.

Arguments

  • nba Number of observation points along $\overline{BA}$
  • nbc Number of observation points along $\overline{BC}$

Return type

Generator -> Vector{T}

Example

for Ξ in obspoints_plane(...)
    for ξ in Ξ
        ...
    end
end
source