Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
NonRefineableBinArray Class Reference

///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// More...

#include <sample_point_container.h>

+ Inheritance diagram for NonRefineableBinArray:

Public Member Functions

 NonRefineableBinArray (SamplePointContainerParameters *bin_array_parameters_pt)
 Constructor. More...
 
 ~NonRefineableBinArray ()
 Destructor: More...
 
 NonRefineableBinArray (const NonRefineableBinArray &data)=delete
 Broken copy constructor. More...
 
void operator= (const NonRefineableBinArray &)=delete
 Broken assignment operator. More...
 
void locate_zeta (const Vector< double > &zeta, GeomObject *&sub_geom_object_pt, Vector< double > &s)
 Find sub-GeomObject (finite element) and the local coordinate s within it that contains point with global coordinate zeta. sub_geom_object_pt=0 if point can't be found. More...
 
unsigned nbin () const
 Total number of bins (empty or not) More...
 
unsigned total_number_of_sample_points_computed_recursively () const
 Compute total number of sample points recursively. More...
 
unsigned n_spiral_chunk () const
 Number of spirals to be searched in one go const version. More...
 
unsigned & n_spiral_chunk ()
 Number of spirals to be searched in one go. More...
 
unsigned & max_spiral_level ()
 Access function to max. spiral level during straight locate_zeta search (for efficiency; similar to max_search_radius()) More...
 
unsigned & current_min_spiral_level ()
 Access function to current min. spiral level. More...
 
unsigned & current_max_spiral_level ()
 Access function to current max. spiral level. More...
 
void get_fill_stats (unsigned &n_bin, unsigned &max_n_entry, unsigned &min_n_entry, unsigned &tot_n_entry, unsigned &n_empty) const
 Provide some stats on the fill level of the associated bin. More...
 
double min_distance (const unsigned &i_bin, const Vector< double > &zeta)
 Compute the minimum distance of any vertex in the specified bin from the specified Lagrangian coordinate zeta. More...
 
void output_bin_vertices (std::ofstream &outfile)
 Output bin vertices (allowing display of bins as zones). More...
 
void get_bin_vertices (const unsigned &i_bin, Vector< Vector< double >> &bin_vertex)
 Get vector of vectors containing the coordinates of the vertices of the i_bin-th bin: bin_vertex[j][i] contains the i-th coordinate of the j-th vertex. More...
 
void get_bin (const Vector< double > &zeta, int &bin_number)
 Get the number of the bin containing the specified coordinate. Bin number is negative if the coordinate is outside the bin structure. More...
 
void get_bin (const Vector< double > &zeta, int &bin_number, Vector< std::pair< FiniteElement *, Vector< double >>> &sample_point_pairs)
 Get the number of the bin containing the specified coordinate; also return the contents of that bin. Bin number is negative if the coordinate is outside the bin structure. More...
 
Vector< Vector< std::pair< FiniteElement *, Vector< double > > > > bin_content () const
 Get the contents of all bins in vector. More...
 
const std::map< unsigned, Vector< std::pair< FiniteElement *, Vector< double > > > > * get_all_bins_content () const
 Get the contents of all bins in vector. More...
 
void fill_bin_by_diffusion (const unsigned &bin_diffusion_radius=1)
 Fill bin by diffusion, populating each empty bin with the same content as the first non-empty bin found during a spiral-based search up to the specified "radius" (default 1) More...
 
void output_bins (std::ofstream &outfile)
 Output bins. More...
 
void output_bins (std::string &filename)
 Output bins. More...
 
- Public Member Functions inherited from BinArray
 BinArray (Mesh *mesh_pt, const Vector< std::pair< double, double >> &min_and_max_coordinates, const Vector< unsigned > &dimensions_of_bin_array, const bool &use_eulerian_coordinates_during_setup, const bool &ignore_halo_elements_during_locate_zeta_search, const unsigned &nsample_points_generated_per_element)
 Constructor. More...
 
 BinArray ()
 Broken default constructor; needed for broken copy constructors. Don't call. It will die. More...
 
 BinArray (const BinArray &data)=delete
 Broken copy constructor. More...
 
void operator= (const BinArray &)=delete
 Broken assignment operator. More...
 
virtual ~BinArray ()
 Virtual destructor. More...
 
void get_neighbouring_bins_helper (const unsigned &bin_index, const unsigned &radius, Vector< unsigned > &neighbouring_bin_index, const bool &use_old_version=true)
 Helper function for computing the bin indices of neighbouring bins at a given "radius" of the specified bin. Final, optional boolean (default: true) chooses to use the old version which appears to be faster than Louis' new one after all (in the few cases where this functionality is still used – not all if we have cgal!) More...
 
void profile_get_neighbouring_bins_helper ()
 Profiling function to compare performance of two different versions of the get_neighbouring_bins_helper(...) function. More...
 
unsigned coords_to_bin_index (const Vector< double > &zeta)
 Get (linearly enumerated) bin index of bin that contains specified zeta. More...
 
void coords_to_vectorial_bin_index (const Vector< double > &zeta, Vector< unsigned > &bin_index)
 Get "coordinates" of bin that contains specified zeta. More...
 
unsigned max_bin_dimension () const
 Max. bin dimension (number of bins in coordinate directions) More...
 
unsigned ndim_zeta () const
 Dimension of the zeta ( = dim of local coordinate of elements) More...
 
unsigned dimension_of_bin_array (const unsigned &i) const
 Number of bins in coordinate direction i. More...
 
Vector< unsigned > dimensions_of_bin_array () const
 Number of bins in coordinate directions. Const vector-based version. More...
 
unsigned dimensions_of_bin_array (const unsigned &i) const
 Number of bins in specified coordinate direction. More...
 
- Public Member Functions inherited from SamplePointContainer
 SamplePointContainer (Mesh *mesh_pt, const Vector< std::pair< double, double >> &min_and_max_coordinates, const bool &use_eulerian_coordinates_during_setup, const bool &ignore_halo_elements_during_locate_zeta_search, const unsigned &nsample_points_generated_per_element)
 Constructor. More...
 
 SamplePointContainer ()
 Broken default constructor; needed for broken copy constructors. Don't call. It will die. More...
 
 SamplePointContainer (const SamplePointContainer &data)=delete
 Broken copy constructor. More...
 
void operator= (const SamplePointContainer &)=delete
 Broken assignment operator. More...
 
virtual ~SamplePointContainer ()
 Virtual destructor. More...
 
virtual unsigned & total_number_of_sample_points_visited_during_locate_zeta_from_top_level ()
 Counter to keep track of how many sample points we've visited during top level call to locate_zeta. Virtual so it can be overloaded for different versions. More...
 
Mesh * mesh_pt () const
 Pointer to mesh from whose FiniteElements sample points are created. More...
 
const std::pair< double, double > & min_and_max_coordinates (const unsigned &i) const
 Pair of doubles for min and maximum coordinates in i-th direction: min (first) and max. (second) coordinates. More...
 
const Vector< std::pair< double, double > > & min_and_max_coordinates () const
 Vector of pair of doubles for min and maximum coordinates. min (first) and max. (second) coordinates. More...
 
bool ignore_halo_elements_during_locate_zeta_search () const
 Ignore halo elements? More...
 
bool use_eulerian_coordinates_during_setup () const
 Use Eulerian coordinates (i.e. interpolated_x) rather than zeta itself (i.e. interpolated_zeta) to identify point. More...
 
unsigned & nsample_points_generated_per_element ()
 "Measure of" number of sample points generated in each element More...
 
double & max_search_radius ()
 Set maximum search radius for locate zeta. This is initialised do DBL_MAX so we brutally search through the entire bin structure, no matter how big it is until we've found the required point (or failed to do so. This can be VERY costly with fine meshes. Here the user takes full responsibility and states that we have no chance in hell to find the required point in a bin whose closest vertex is further than the specified max search radius. More...
 

Static Public Attributes

static unsigned Default_n_bin_1d = 100
 Default number of bins (in each coordinate direction). (Note: don't move this into a common base class because each derived class has its own value; nonrefineable bin wants a much larger value than the refineable one!) More...
 
static unsigned long Total_nbin_cells_counter = 0
 Counter for overall number of bins allocated – used to issue warning if this exceeds a threshhold. (Default assignment of 100^DIM bins per MeshAsGeomObject can be a killer if there are huge numbers of sub-meshes (e.g. in unstructured FSI). More...
 
static unsigned long Threshold_for_total_bin_cell_number_warning
 Total number of bins above which warning is issued. (Default assignment of 100^DIM bins per MeshAsGeomObject can be a killer if there are huge numbers of sub-meshes (e.g. in unstructured FSI). More...
 
static bool Suppress_warning_about_large_total_number_of_bins
 Boolean to supppress warnings about large number of bins. More...
 
static bool Already_warned_about_large_number_of_bin_cells
 Boolean flag to make sure that warning about large number of bin cells only gets triggered once. More...
 
static unsigned Threshold_for_elements_per_bin_warning = 100
 Fraction of elements/bin that triggers warning. Too many elements per bin can lead to very slow computations. More...
 
static bool Suppress_warning_about_small_number_of_bins
 Boolean to supppress warnings about small number of bins. More...
 
static bool Already_warned_about_small_number_of_bin_cells
 Boolean flag to make sure that warning about small number of bin cells only gets triggered once. More...
 
- Static Public Attributes inherited from SamplePointContainer
static std::ofstream Visited_sample_points_file
 File to record sequence of visited sample points in. Used for debugging/ illustration of search procedures. More...
 
static bool Always_fail_elemental_locate_zeta = false
 Boolean flag to make to make locate zeta fail. Used for debugging/ illustration of search procedures. More...
 
static bool Use_equally_spaced_interior_sample_points = true
 Use equally spaced sample points? (otherwise vertices are sampled repeatedly. More...
 
static bool Enable_timing_of_setup = false
 Time setup? More...
 
static double Percentage_offset = 5.0
 Offset of sample point container boundaries beyond max/min coords. More...
 

Private Member Functions

void fill_bin_array ()
 Fill the bin array with sample points from FiniteElements stored in mesh. More...
 
void create_bins_of_objects ()
 Initialise and populate the "bin" structure for locating coordinates and increment counter for total number of bins in active use by any MeshAsGeomObject) More...
 
void flush_bins_of_objects ()
 Flush the storage for the binning method (and decrement counter for total number of bins in active use by any MeshAsGeomObject) More...
 

Private Attributes

SparseVector< Vector< std::pair< FiniteElement *, Vector< double > > > > Bin_object_coord_pairs
 Storage for paired objects and coords in each bin. More...
 
unsigned Max_spiral_level
 Max. spiralling level (for efficiency; effect similar to max_search_radius) More...
 
unsigned Current_min_spiral_level
 Current min. spiralling level. More...
 
unsigned Current_max_spiral_level
 Current max. spiralling level. More...
 
unsigned Nspiral_chunk
 Number of spirals to be searched in one go. More...
 

Additional Inherited Members

- Protected Member Functions inherited from SamplePointContainer
void setup_min_and_max_coordinates ()
 Helper function to compute the min and max coordinates for the mesh, in each dimension. More...
 
- Protected Attributes inherited from BinArray
Vector< unsigned > Dimensions_of_bin_array
 Number of bins in each coordinate direction. More...
 
- Protected Attributes inherited from SamplePointContainer
Mesh * Mesh_pt
 Pointer to mesh from whose FiniteElements sample points are created. More...
 
Vector< std::pair< double, double > > Min_and_max_coordinates
 Vector of pairs of doubles for min and maximum coordinates. Call: Min_and_max_coordinates[j] gives me the pair of min (first) and max. (second) coordinates in the j-th coordinate direction. More...
 
bool Use_eulerian_coordinates_during_setup
 Use Eulerian coordinates (i.e. interpolated_x) rather than zeta itself (i.e. interpolated_zeta) to identify point. More...
 
bool Ignore_halo_elements_during_locate_zeta_search
 Ignore halo elements? More...
 
unsigned Nsample_points_generated_per_element
 "Measure of" number of sample points generated in each element More...
 
unsigned Total_number_of_sample_points_visited_during_locate_zeta_from_top_level
 Counter to keep track of how many sample points we've visited during top level call to locate_zeta. More...
 
double Max_search_radius
 Max radius beyond which we stop searching the bin. Initialised to DBL_MAX so keep going until the point is found or until we've searched every single bin. Overwriting this means we won't search in bins whose closest vertex is at a distance greater than Max_search_radius from the point to be located. More...
 

Detailed Description

///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////

NonRefineableBinArray class.

Definition at line 818 of file sample_point_container.h.

Constructor & Destructor Documentation

◆ NonRefineableBinArray() [1/2]

NonRefineableBinArray::NonRefineableBinArray ( SamplePointContainerParameters *  sample_point_container_parameters_pt)

◆ ~NonRefineableBinArray()

NonRefineableBinArray::~NonRefineableBinArray ( )
inline

Destructor:

Definition at line 826 of file sample_point_container.h.

References flush_bins_of_objects().

◆ NonRefineableBinArray() [2/2]

NonRefineableBinArray::NonRefineableBinArray ( const NonRefineableBinArray data)
delete

Broken copy constructor.

Member Function Documentation

◆ bin_content()

Vector<Vector<std::pair<FiniteElement*, Vector<double> > > > NonRefineableBinArray::bin_content ( ) const
inline

Get the contents of all bins in vector.

Definition at line 930 of file sample_point_container.h.

References Bin_object_coord_pairs.

◆ create_bins_of_objects()

void NonRefineableBinArray::create_bins_of_objects ( )
private

Initialise and populate the "bin" structure for locating coordinates and increment counter for total number of bins in active use by any MeshAsGeomObject)

◆ current_max_spiral_level()

unsigned& NonRefineableBinArray::current_max_spiral_level ( )
inline

Access function to current max. spiral level.

Definition at line 891 of file sample_point_container.h.

References Current_max_spiral_level.

Referenced by oomph::Multi_domain_functions::aux_setup_multi_domain_interaction(), and locate_zeta().

◆ current_min_spiral_level()

unsigned& NonRefineableBinArray::current_min_spiral_level ( )
inline

Access function to current min. spiral level.

Definition at line 885 of file sample_point_container.h.

References Current_min_spiral_level.

Referenced by oomph::Multi_domain_functions::aux_setup_multi_domain_interaction(), and locate_zeta().

◆ fill_bin_array()

void NonRefineableBinArray::fill_bin_array ( )
private

◆ fill_bin_by_diffusion()

void NonRefineableBinArray::fill_bin_by_diffusion ( const unsigned &  bin_diffusion_radius = 1)

Fill bin by diffusion, populating each empty bin with the same content as the first non-empty bin found during a spiral-based search up to the specified "radius" (default 1)

Definition at line 2667 of file sample_point_container.cc.

References Bin_object_coord_pairs, BinArray::get_neighbouring_bins_helper(), i, min_distance(), nbin(), and s.

Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt().

◆ flush_bins_of_objects()

void NonRefineableBinArray::flush_bins_of_objects ( )
inlineprivate

Flush the storage for the binning method (and decrement counter for total number of bins in active use by any MeshAsGeomObject)

Definition at line 1004 of file sample_point_container.h.

References Bin_object_coord_pairs, and Total_nbin_cells_counter.

Referenced by fill_bin_array(), and ~NonRefineableBinArray().

◆ get_all_bins_content()

const std::map<unsigned, Vector<std::pair<FiniteElement*, Vector<double> > > >* NonRefineableBinArray::get_all_bins_content ( ) const
inline

Get the contents of all bins in vector.

Definition at line 938 of file sample_point_container.h.

References Bin_object_coord_pairs.

Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt().

◆ get_bin() [1/2]

void NonRefineableBinArray::get_bin ( const Vector< double > &  zeta,
int &  bin_number 
)

Get the number of the bin containing the specified coordinate. Bin number is negative if the coordinate is outside the bin structure.

Definition at line 2794 of file sample_point_container.cc.

References BinArray::Dimensions_of_bin_array, get_bin_vertices(), i, SamplePointContainer::Min_and_max_coordinates, and BinArray::ndim_zeta().

Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt().

◆ get_bin() [2/2]

void NonRefineableBinArray::get_bin ( const Vector< double > &  zeta,
int &  bin_number,
Vector< std::pair< FiniteElement *, Vector< double >>> &  sample_point_pairs 
)

Get the number of the bin containing the specified coordinate; also return the contents of that bin. Bin number is negative if the coordinate is outside the bin structure.

◆ get_bin_vertices()

void NonRefineableBinArray::get_bin_vertices ( const unsigned &  i_bin,
Vector< Vector< double >> &  bin_vertex 
)

Get vector of vectors containing the coordinates of the vertices of the i_bin-th bin: bin_vertex[j][i] contains the i-th coordinate of the j-th vertex.

Definition at line 2912 of file sample_point_container.cc.

References BinArray::Dimensions_of_bin_array, i, SamplePointContainer::Min_and_max_coordinates, and BinArray::ndim_zeta().

Referenced by get_bin(), min_distance(), and output_bin_vertices().

◆ get_fill_stats()

void NonRefineableBinArray::get_fill_stats ( unsigned &  n_bin,
unsigned &  max_n_entry,
unsigned &  min_n_entry,
unsigned &  tot_n_entry,
unsigned &  n_empty 
) const

Provide some stats on the fill level of the associated bin.

Definition at line 2629 of file sample_point_container.cc.

References Bin_object_coord_pairs, and nbin().

Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt().

◆ locate_zeta()

void NonRefineableBinArray::locate_zeta ( const Vector< double > &  zeta,
GeomObject *&  sub_geom_object_pt,
Vector< double > &  s 
)
virtual

Find sub-GeomObject (finite element) and the local coordinate s within it that contains point with global coordinate zeta. sub_geom_object_pt=0 if point can't be found.

Find the sub geometric object and local coordinate therein that corresponds to the intrinsic coordinate zeta. If sub_geom_object_pt=0 on return from this function, none of the constituent sub-objects contain the required coordinate.

Implements SamplePointContainer.

Definition at line 3088 of file sample_point_container.cc.

References SamplePointContainer::Always_fail_elemental_locate_zeta, Bin_object_coord_pairs, current_max_spiral_level(), current_min_spiral_level(), BinArray::Dimensions_of_bin_array, BinArray::get_neighbouring_bins_helper(), i, SamplePointContainer::Ignore_halo_elements_during_locate_zeta_search, SamplePointContainer::Max_search_radius, SamplePointContainer::Min_and_max_coordinates, min_distance(), BinArray::ndim_zeta(), s, SamplePointContainer::total_number_of_sample_points_visited_during_locate_zeta_from_top_level(), SamplePointContainer::Total_number_of_sample_points_visited_during_locate_zeta_from_top_level, SamplePointContainer::use_eulerian_coordinates_during_setup(), and SamplePointContainer::Visited_sample_points_file.

◆ max_spiral_level()

unsigned& NonRefineableBinArray::max_spiral_level ( )
inline

Access function to max. spiral level during straight locate_zeta search (for efficiency; similar to max_search_radius())

Definition at line 879 of file sample_point_container.h.

References Max_spiral_level.

◆ min_distance()

double NonRefineableBinArray::min_distance ( const unsigned &  i_bin,
const Vector< double > &  zeta 
)

Compute the minimum distance of any vertex in the specified bin from the specified Lagrangian coordinate zeta.

Definition at line 3057 of file sample_point_container.cc.

References get_bin_vertices(), i, and BinArray::ndim_zeta().

Referenced by fill_bin_by_diffusion(), and locate_zeta().

◆ n_spiral_chunk() [1/2]

unsigned& NonRefineableBinArray::n_spiral_chunk ( )
inline

Number of spirals to be searched in one go.

Definition at line 872 of file sample_point_container.h.

References Nspiral_chunk.

◆ n_spiral_chunk() [2/2]

unsigned NonRefineableBinArray::n_spiral_chunk ( ) const
inline

Number of spirals to be searched in one go const version.

Definition at line 866 of file sample_point_container.h.

References Nspiral_chunk.

Referenced by oomph::Multi_domain_functions::aux_setup_multi_domain_interaction().

◆ nbin()

unsigned NonRefineableBinArray::nbin ( ) const
inlinevirtual

Total number of bins (empty or not)

Implements BinArray.

Definition at line 845 of file sample_point_container.h.

References BinArray::Dimensions_of_bin_array, i, and BinArray::ndim_zeta().

Referenced by fill_bin_array(), fill_bin_by_diffusion(), get_fill_stats(), and output_bin_vertices().

◆ operator=()

void NonRefineableBinArray::operator= ( const NonRefineableBinArray )
delete

Broken assignment operator.

◆ output_bin_vertices()

void NonRefineableBinArray::output_bin_vertices ( std::ofstream &  outfile)
virtual

Output bin vertices (allowing display of bins as zones).

Implements BinArray.

Definition at line 2357 of file sample_point_container.cc.

References BinArray::Dimensions_of_bin_array, get_bin_vertices(), i, nbin(), and BinArray::ndim_zeta().

◆ output_bins() [1/2]

void NonRefineableBinArray::output_bins ( std::ofstream &  outfile)
virtual

◆ output_bins() [2/2]

void NonRefineableBinArray::output_bins ( std::string &  filename)
inline

Output bins.

Definition at line 955 of file sample_point_container.h.

References output_bins().

◆ total_number_of_sample_points_computed_recursively()

unsigned NonRefineableBinArray::total_number_of_sample_points_computed_recursively ( ) const
virtual

Compute total number of sample points recursively.

Implements SamplePointContainer.

Definition at line 2283 of file sample_point_container.cc.

References Bin_object_coord_pairs.

Referenced by NonRefineableBinArray().

Member Data Documentation

◆ Already_warned_about_large_number_of_bin_cells

bool NonRefineableBinArray::Already_warned_about_large_number_of_bin_cells
static
Initial value:
=
false

Boolean flag to make sure that warning about large number of bin cells only gets triggered once.

Definition at line 980 of file sample_point_container.h.

Referenced by fill_bin_array().

◆ Already_warned_about_small_number_of_bin_cells

bool NonRefineableBinArray::Already_warned_about_small_number_of_bin_cells
static
Initial value:
=
false

Boolean flag to make sure that warning about small number of bin cells only gets triggered once.

Definition at line 991 of file sample_point_container.h.

Referenced by fill_bin_array().

◆ Bin_object_coord_pairs

SparseVector<Vector<std::pair<FiniteElement*, Vector<double> > > > NonRefineableBinArray::Bin_object_coord_pairs
private

◆ Current_max_spiral_level

unsigned NonRefineableBinArray::Current_max_spiral_level
private

Current max. spiralling level.

Definition at line 1022 of file sample_point_container.h.

Referenced by current_max_spiral_level(), and NonRefineableBinArray().

◆ Current_min_spiral_level

unsigned NonRefineableBinArray::Current_min_spiral_level
private

Current min. spiralling level.

Definition at line 1019 of file sample_point_container.h.

Referenced by current_min_spiral_level(), and NonRefineableBinArray().

◆ Default_n_bin_1d

unsigned NonRefineableBinArray::Default_n_bin_1d = 100
static

Default number of bins (in each coordinate direction). (Note: don't move this into a common base class because each derived class has its own value; nonrefineable bin wants a much larger value than the refineable one!)

Default number of bins (in each coordinate direction)

Definition at line 860 of file sample_point_container.h.

Referenced by NonRefineableBinArray().

◆ Max_spiral_level

unsigned NonRefineableBinArray::Max_spiral_level
private

Max. spiralling level (for efficiency; effect similar to max_search_radius)

Definition at line 1016 of file sample_point_container.h.

Referenced by max_spiral_level(), and NonRefineableBinArray().

◆ Nspiral_chunk

unsigned NonRefineableBinArray::Nspiral_chunk
private

Number of spirals to be searched in one go.

Definition at line 1025 of file sample_point_container.h.

Referenced by n_spiral_chunk(), and NonRefineableBinArray().

◆ Suppress_warning_about_large_total_number_of_bins

bool NonRefineableBinArray::Suppress_warning_about_large_total_number_of_bins
static
Initial value:
=
false

Boolean to supppress warnings about large number of bins.

Definition at line 976 of file sample_point_container.h.

Referenced by fill_bin_array().

◆ Suppress_warning_about_small_number_of_bins

bool NonRefineableBinArray::Suppress_warning_about_small_number_of_bins
static
Initial value:
=
false

Boolean to supppress warnings about small number of bins.

Definition at line 987 of file sample_point_container.h.

Referenced by fill_bin_array().

◆ Threshold_for_elements_per_bin_warning

unsigned NonRefineableBinArray::Threshold_for_elements_per_bin_warning = 100
static

Fraction of elements/bin that triggers warning. Too many elements per bin can lead to very slow computations.

Definition at line 984 of file sample_point_container.h.

Referenced by fill_bin_array().

◆ Threshold_for_total_bin_cell_number_warning

unsigned long NonRefineableBinArray::Threshold_for_total_bin_cell_number_warning
static
Initial value:
=
50000000

Total number of bins above which warning is issued. (Default assignment of 100^DIM bins per MeshAsGeomObject can be a killer if there are huge numbers of sub-meshes (e.g. in unstructured FSI).

Definition at line 973 of file sample_point_container.h.

Referenced by fill_bin_array().

◆ Total_nbin_cells_counter

unsigned long NonRefineableBinArray::Total_nbin_cells_counter = 0
static

Counter for overall number of bins allocated – used to issue warning if this exceeds a threshhold. (Default assignment of 100^DIM bins per MeshAsGeomObject can be a killer if there are huge numbers of sub-meshes (e.g. in unstructured FSI).

Definition at line 967 of file sample_point_container.h.

Referenced by fill_bin_array(), and flush_bins_of_objects().


The documentation for this class was generated from the following files: