diff --git a/src/RBFMeshMotionSolver/AdaptiveCoarsening.C b/src/RBFMeshMotionSolver/AdaptiveCoarsening.C index 6efa5d41..37ecbec9 100644 --- a/src/RBFMeshMotionSolver/AdaptiveCoarsening.C +++ b/src/RBFMeshMotionSolver/AdaptiveCoarsening.C @@ -220,7 +220,7 @@ namespace rbf if ( not rbf->initialized() ) { // Only do a greedy selection if the values actually mean something - double maxAbs = rbf::MaxAbs( *values ); + double maxAbs = El::MaxAbs( *values ); if ( maxAbs > 0 ) { diff --git a/src/RBFMeshMotionSolver/AdaptiveCoarsening.H b/src/RBFMeshMotionSolver/AdaptiveCoarsening.H index 3e3b1c2b..81f09b11 100644 --- a/src/RBFMeshMotionSolver/AdaptiveCoarsening.H +++ b/src/RBFMeshMotionSolver/AdaptiveCoarsening.H @@ -54,28 +54,4 @@ namespace rbf std::unique_ptr > positions; std::unique_ptr > positionsInterpolation; }; - - template - Real MaxAbs( const El::DistMatrix & A ) - { - Real value = 0; - - if ( A.Participating() ) - { - // Store the index/value of the local pivot candidate - const El::Int mLocal = A.LocalHeight(); - const El::Int nLocal = A.LocalWidth(); - const Real * ABuf = A.LockedBuffer(); - const El::Int ALDim = A.LDim(); - - for ( El::Int jLoc = 0; jLoc < nLocal; ++jLoc ) - for ( El::Int iLoc = 0; iLoc < mLocal; ++iLoc ) - value = El::Max( std::abs( value ), ABuf[iLoc + jLoc * ALDim] ); - - value = El::mpi::AllReduce( value, El::mpi::MAX, A.DistComm() ); - } - - El::mpi::Broadcast( value, A.Root(), A.CrossComm() ); - return value; - } } diff --git a/src/thirdParty/elemental b/src/thirdParty/elemental index 05f84452..1e12766d 160000 --- a/src/thirdParty/elemental +++ b/src/thirdParty/elemental @@ -1 +1 @@ -Subproject commit 05f8445214f54149332ea12a739b7c10f407ecaa +Subproject commit 1e12766da6564930de24f58d97ae29750af50bb3