13 #include "libmesh/mesh.h" 64 std::unique_ptr<MeshBase>
_mesh;
std::vector< Point > _centroids
The centroids of the elements in the boundary mesh are stored in a vector of Points. The sequence is the same as in _boundary_elements.
virtual void initialSetup() override
virtual void finalize() override
const InputParameters & parameters() const
SBMSurfaceMeshBuilder(const InputParameters ¶meters)
bool checkWatertightness() const
Checks whether the boundary mesh is "closed" – i.e.
bool hasKDTree() const
Whether this builder has a KDTree available.
const std::string _bnd_mesh_name
The name of a mesh saved via MeshGenerator save_mesh_as parameter.
KDTree & getKDTree() const
Returns a mutable reference because KDTree::neighborSearch is non-const (nanoflann's knnSearch thread...
std::vector< std::unique_ptr< SBMBndElementBase > > _boundary_elements
The boundary elements are stored in a vector of unique pointers to SBMBndElementBase.
const std::vector< Point > & getCentroids() const
Get the centroids of the boundary elements.
const std::vector< std::unique_ptr< SBMBndElementBase > > & getBoundaryElements() const
Get the SBM boundary elements.
virtual void initialize() override
const int _leaf_max_size
Configures KDTree leaf node size for performance tuning.
virtual void execute() override
const unsigned int _dim_embedding_mesh
The dimension of the embedding mesh (2D or 3D).
const bool _build_kd_tree
whether we want to build a kd-tree or not
std::unique_ptr< MeshBase > _mesh
Holds the mesh to ensure boundary element pointers remain valid.
std::unique_ptr< KDTree > _kd_tree
The KDTree is constructed using the centroids of the elements in the boundary mesh.
const bool _check_watertightness
The flag to check the watertightness of the mesh.
static InputParameters validParams()