21 "boundary_mesh",
"interface_mesh",
"The saved mesh representing one interface surface.");
23 "Constructs boundary elements and a centroid k-d tree from a pre-existing surface mesh. "
24 "The surface mesh is specified in the Mesh block via `save_with_name`.");
30 "Maximum number of points allowed in a leaf node of the k-d tree. "
31 "Smaller values yield deeper trees with faster queries but slower build times; "
32 "larger values result in shallower trees with faster builds but slower queries. "
33 "Benchmarking is recommended to find an optimal tradeoff for your use case.");
39 "Whether to build a k-d tree or not. If false, the k-d tree will not be built, "
40 "and the mesh will be used directly for queries.");
47 _leaf_max_size(getParam<
int>(
"leaf_max_size")),
48 _build_kd_tree(getParam<bool>(
"build_kd_tree"))
66 mooseAssert(
_kd_tree,
"KDTree not built; callers must guard with hasKDTree() first.");
registerMooseObject("ShiftedBoundaryMethodApp", SBMSurfaceMeshBuilder)
void ErrorVector unsigned int
static InputParameters validParams()
virtual void initialSetup() override
const SurfaceElementSet & surfaceElementSet() const
BoundaryMeshBuilder specialization that additionally builds a centroid k-d tree over the whole-mesh S...
virtual void initialSetup() override
KDTree & getKDTree() const
Returns a mutable reference because KDTree::neighborSearch is non-const (nanoflann's knnSearch thread...
const bool _build_kd_tree
Whether to build the centroid k-d tree.
static InputParameters validParams()
SBMSurfaceMeshBuilder(const InputParameters ¶meters)
std::unique_ptr< KDTree > _kd_tree
The k-d tree is constructed using the centroids of the elements in the boundary mesh.
const int _leaf_max_size
Configures k-d tree leaf node size for performance tuning.