DLM.jl

Pure Julia implementation of the Doublet Lattice Method

Author: Taylor McDonnell

DLM.jl is a pure Julia implementation of the Doublet Lattice Method.

Package Features

  • Capable of modeling multiple arbitrarily defined trapezoidal geometries
  • Highly accurate 12-term exponential approximation of the kernel integrals
  • Multiple options for fits of the linear and nonlinear terms of the kernel function
    • With the parabolic fit:
      • Capable of accurately handling panel aspect ratios of up to 3
    • With the quartic fit:
      • Capable of accurately handling panel aspect ratios of up to 6-10
  • Simple result visualization with WriteVTK
  • Validated against published Doublet Lattice Method results.
  • Allocation-free code

Installation

Enter the package manager by typing ] and then run the following:

pkg> add https://github.com/byuflowlab/DLM.jl

Performance

This package was originally created based on the Python/Fortran DLM implementation in dlm4py. The DLM implemented in this package is roughly 50% slower than that Fortran implementation. However, since this package is implemented in pure Julia, it can be used with automatic differentiation as implemented by the ForwardDiff or ReverseDiff packages, or used with other dynamic language features.

Usage

See the example