Zoltan2 coordinateModelPartBox should store doubles, not scalar_t
Created by: kddevin
@trilinos/zoltan2
Expectations
coordinateModelPartBox is used for storing bounding box info for the parts in a geometric partition. These boxes can be searched, then, for pointAssign and boxAssign functionality for, say, contact detection or particle methods. One would expect the union of the boxes to cover the entire geometric domain given to the partitioner.
Current Behavior
Currently, coordinateModelPartBox stores bounding box info using the user's scalar_t. However, if the user provides scalar_t = int, the box boundaries could be truncated so that a complete cover of the domain is not achieved. Plus, there likely will be compiler issues in having scalar_t = int that would have to be resolved.
Motivation and Context
Trying to use scalar_t=int with geometric partitioning causes problems in MJ and in use of the coordinateModelPartBox. For example, one might give scalar_t=int to partition the (i,j) indices of a matrix.
In truth, there is no reason to use the users' scalar_t in coordinateModelPartBox. The data type is a coordinate, which we can define to be double. We might allow the constructor to be templated on other types, but we should store doubles. Users should not specify the type of values that we are computing. (See #1312)
Definition of Done
Remove template parameters to coordinateModelPartBox; define coordinate type to be stored as double; update code and interface.