Skip to content
Snippets Groups Projects
Commit 2a63f5e4 authored by Oliver Sander's avatar Oliver Sander Committed by sander
Browse files

Distribute energy and model decrease over all processors

[[Imported from SVN: r9723]]
parent 1f065a92
No related branches found
No related tags found
No related merge requests found
......@@ -405,6 +405,7 @@ void RiemannianTrustRegionSolver<GridType,TargetSpace>::solve()
newIterate[j] = TargetSpace::exp(newIterate[j], corr[j]);
double energy = assembler_->computeEnergy(newIterate);
energy = mpiHelper.getCollectiveCommunication().sum(energy);
// compute the model decrease
// It is $ m(x) - m(x+s) = -<g,s> - 0.5 <s, Hs>
......@@ -413,6 +414,7 @@ void RiemannianTrustRegionSolver<GridType,TargetSpace>::solve()
tmp = 0;
hessianMatrix_->umv(corr, tmp);
double modelDecrease = (rhs*corr) - 0.5 * (corr*tmp);
modelDecrease = mpiHelper.getCollectiveCommunication().sum(modelDecrease);
double relativeModelDecrease = modelDecrease / std::fabs(energy);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment