Skip to content

Commit

Permalink
FEAT: Add High performance Field Translation and FMM crates. (#126)
Browse files Browse the repository at this point in the history
* Add field translation traits and implementations (both optimised SVD and FFT field translations are added)
* RLST is used for all underlying data structures.
* Single node kiFMM implementation, and associated traits for FMMs
* More tests added to ensure correctness of trees, and correct ordering for points created in surfaces.
* Documentation added for Field and Fmm crates, documentation updated in Tree crate where things have changed.
* Benchmark for FFT FMM (order 6, Laplace, 1e6 pts) ~1.5s (Apple M1).
  • Loading branch information
skailasa authored Oct 31, 2023
1 parent f92c6e8 commit c8b39b1
Show file tree
Hide file tree
Showing 64 changed files with 7,113 additions and 4,291 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,5 @@ examples.sh

_*.msh
*.btr

.vscode/
4 changes: 4 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ members = [
"bem",
"element",
"fmm",
"field",
"grid",
"hyksort",
"quadrature",
Expand All @@ -13,10 +14,13 @@ members = [
"traits",
]

resolver = "2"

default-members = [
"bem",
"element",
"fmm",
"field",
"grid",
"hyksort",
"quadrature",
Expand Down
4 changes: 2 additions & 2 deletions bem/src/assembly/batched.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
use crate::function_space::SerialFunctionSpace;
use bempp_kernel::traits::Kernel;
use bempp_kernel::types::EvalType;
use bempp_quadrature::duffy::quadrilateral::quadrilateral_duffy;
use bempp_quadrature::duffy::triangle::triangle_duffy;
use bempp_quadrature::simplex_rules::simplex_rule;
Expand All @@ -11,6 +9,8 @@ use bempp_traits::bem::{DofMap, FunctionSpace};
use bempp_traits::cell::ReferenceCellType;
use bempp_traits::element::FiniteElement;
use bempp_traits::grid::{Geometry, Grid, Topology};
use bempp_traits::kernel::Kernel;
use bempp_traits::types::EvalType;
use bempp_traits::types::Scalar;
use rayon::prelude::*;
use rlst_dense::{RandomAccessByRef, RawAccess, RawAccessMut, Shape};
Expand Down
Loading

0 comments on commit c8b39b1

Please sign in to comment.