|
IBAMR
IBAMR version 0.19.
|
Helper class containing local indices and periodic shifts. More...
Public Member Functions | |
| IndicesAndShifts (const SAMRAI::hier::Box< NDIM > &ib_box, const SAMRAI::hier::Patch< NDIM > &patch, const double *const X_data, const int X_size, const bool setup_extra_buffer=false) | |
| IndicesAndShifts (const IndicesAndShifts &)=delete | |
| IndicesAndShifts & | operator= (const IndicesAndShifts &)=delete |
| IndicesAndShifts (IndicesAndShifts &&)=delete | |
| IndicesAndShifts & | operator= (IndicesAndShifts &&)=delete |
Public Attributes | |
| Eigen::Map< Eigen::VectorXi > | d_local_indices |
| Eigen::Map< Eigen::VectorXd > | d_periodic_shifts |
| Eigen::Map< Eigen::VectorXd > | d_buffer |
Private Attributes | |
| bool | d_use_stack |
| SAMRAI::tbox::Array< int > | d_dynamic_local_indices |
| SAMRAI::tbox::Array< double > | d_dynamic_periodic_shifts |
| SAMRAI::tbox::Array< double > | d_dynamic_buffer |
| std::array< int, s_stack_size > | d_stack_local_indices |
| std::array< double, s_stack_size *NDIM > | d_stack_periodic_shifts |
| std::array< double, s_stack_size > | d_stack_buffer |
Static Private Attributes | |
| static constexpr std::size_t | s_stack_size = 64u |
To avoid reading points not owned by the present patch, the IB kernels take, as a function argument, the indices of points which should be interpolated at or spread from. Some applications call these functions for small numbers of points at a time (e.g. one finite element), whereas others batch things per-patch. To support both cases and avoid unnecessary allocations, this class computes the indices of points which intersect the Patch and stores their indices in an Eigen::Map, which, for small numbers of input points, uses std::array instead of std::vector.
| IBTK::LEInteractor::IndicesAndShifts::IndicesAndShifts | ( | const SAMRAI::hier::Box< NDIM > & | ib_box, |
| const SAMRAI::hier::Patch< NDIM > & | patch, | ||
| const double *const | X_data, | ||
| const int | X_size, | ||
| const bool | setup_extra_buffer = false |
||
| ) |
Constructor.
|
delete |
Copying is not implemented.
|
delete |
Moving is not implemented.
|
delete |
Copying is not implemented.
|
delete |
Moving is not implemented.
|
staticconstexprprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| Eigen::Map<Eigen::VectorXi> IBTK::LEInteractor::IndicesAndShifts::d_local_indices |
Array containing the indices of the points which are within the Patch provided to the constructor.
| Eigen::Map<Eigen::VectorXd> IBTK::LEInteractor::IndicesAndShifts::d_periodic_shifts |
Array containing periodic shifts. Presently this is all zeros.
| Eigen::Map<Eigen::VectorXd> IBTK::LEInteractor::IndicesAndShifts::d_buffer |
Array containing an extra buffer (if requested in the constructor by setting setup_extra_buffer = true) which has the same length as d_local_indices.
1.8.17