Ifpack2: coordinates passed to the block relaxation line partitioner need to be `double`
*Created by: lucbv* @trilinos/ifpack2 @mhoemmen @csiefer2 ## Expectations It seems a reasonable assumption that coordinates will be passed as `double` for line detection. We should be able to use that algorithm when `Scalar=std::complex<double>` ## Current Behavior Currently the coordinates are templated on `Scalar` which leads to a type mismatch when the multivector of coordinates coming from an app/MueLu is templated on `double` ## Motivation and Context The line detection algorithm is useful for problem exhibiting strong mesh anisotropy which happens often for cfd problem where a mesh is closely fitted and extruded in the normal direction to a solid surface. For instance this can happen when modelling the fluid flow around a wind turbine blade or an aircraft wing. ## Definition of Done There is a test in MueLu that uses the line detection algorithm and that test is failing when `Scalar=std::compled<double>` this should actually run correctly with proper templates. ## Possible Solution Switch `MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node>` to `MultiVector<double, LocalOrdinal, GlobalOrdinal, Node>` where appropriate so that the coordinates can go through Ifpack2 without problems. ## Steps to Reproduce Compile Trilinos with complex on and run the MueLu tests. ## Related Issues * Follows #2528 * Related to #2520
issue