97 const int &numberOfIterations)
const {
101#ifndef TTK_ENABLE_KAMIKAZE
112 SimplexId const vertexNumber = triangulation->getNumberOfVertices();
119#ifdef TTK_ENABLE_OPENMP
120#pragma omp parallel for num_threads(threadNumber_)
122 for(
SimplexId i = 0; i < vertexNumber; i++) {
132 int timeBuckets = 10;
133 if(numberOfIterations < timeBuckets)
134 timeBuckets = numberOfIterations;
136 for(
int it = 0; it < numberOfIterations; it++) {
137#ifdef TTK_ENABLE_OPENMP
138#pragma omp parallel for num_threads(threadNumber_)
140 for(
SimplexId i = 0; i < vertexNumber; i++) {
148 tmpData[curr] = outputData[curr];
150 const auto neighborNumber = triangulation->getVertexNeighborNumber(i);
151 for(
SimplexId k = 0; k < neighborNumber; k++) {
153 triangulation->getVertexNeighbor(i, k, neighborId);
156 tmpData[curr] /=
static_cast<double>(neighborNumber + 1);
160 if(numberOfIterations) {
162#ifdef TTK_ENABLE_OPENMP
163#pragma omp parallel for num_threads(threadNumber_)
165 for(
SimplexId i = 0; i < vertexNumber; i++) {
176 if(ttk::isRunningWithMPI()) {
179 exchangeGhostVertices<dataType, triangulationType>(
185 if(!(it % ((numberOfIterations) / timeBuckets))) {
printMsg(debug::output::BOLD+" | | | | | . \\ | | (__| | / __/| |_| / __/|__ _|"+debug::output::ENDCOLOR, debug::Priority::PERFORMANCE, debug::LineMode::NEW, stream)