Utility functions
GeometryBasics.Rect
— TypeGeometryBasics.Rect(model::Model{T, Triangle{T}})
Creates and returns a bounding box for the given model.
Supported keyword arguments
padding::T = 0
Addspadding
to each side of the (otherwise flush) bounding box, effectively increasing its size by 2 ⋅padding
in each direction.
Return type
GeometryBasics.mesh
— FunctionGeometryBasics.mesh(model::Model{T, Triangle{T}})
Converts the given model into a GeometryBasics.jl-compatible mesh, e.g., for visualization through Makie.jl.
Return type
NESSie.guess_domain
— Functionguess_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 ξ
∈ Ξ
.
NESSie.meshunion
— Functionmeshunion(
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
This function assumes that there are no duplicates within either of the node lists!
NESSie.obspoints_plane
— Functionobspoints_plane(
a ::AbstractVector{T},
b ::AbstractVector{T},
c ::AbstractVector{T},
nba::Int,
nbc::Int
)
Generates nba
⋅ nbc
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