message: 3-space alignments.
diff: @@ -172,7 +172,7 @@ double DescentNewtonSolver::ComputeScalingFactor(const Vector &x,
  int main (int argc, char *argv[])
  {
  - // 1. Parse command-line options.
  + // 0. Set the method's default parameters.
  const char *mesh_file = "../data/tipton.mesh";
  int mesh_poly_deg = 1;
  int rs_levels = 0;
  @@ -189,6 +189,7 @@ int main (int argc, char *argv[])
  bool visualization = true;
  int combomet = 0;
  + // 1. Parse command-line options.
  OptionsParser args(argc, argv);
  args.AddOption(&mesh_file, "-m", "--mesh",
  "Mesh file to use.");
  @@ -288,10 +289,8 @@ int main (int argc, char *argv[])
  // transformation of the reference element.
  mesh->SetNodalFESpace(fespace);
  - // 5. Set up the right-hand side vector b. In this case we do not need to use
  - // a LinearForm object because b=0.
  - Vector b(fespace->GetVSize());
  - b = 0.0;
  + // 5. Set up an empty right-hand side vector b, which is equivalent to b=0.
  + Vector b(0);
  // 6. Get the mesh nodes (vertices and other quadratic degrees of freedom in
  // the finite element space) as a finite element grid function in fespace.
  @@ -502,8 +501,8 @@ int main (int argc, char *argv[])
  a.SetEssentialVDofs(ess_vdofs);
  }
  - // 17. As we will use the Newton method to solve the resulting nonlinear
  - // system, here we setup the linear solver for the system's Jacobian.
  + // 17. As we use the Newton method to solve the resulting nonlinear system,
  + // here we setup the linear solver for the system's Jacobian.
  Solver *S = NULL;
  const double rtol = 1e-12;
  const int max_iter = 100;
  @@ -530,7 +529,7 @@ int main (int argc, char *argv[])
  S = minres;
  }
  - // 18. Compute the minimum det(J) of the starting mesh.
  + // 18. Compute the minimum det(J) of the starting mesh (TODO).
  tauval = numeric_limits<double>::infinity();
  const int NE = mesh->GetNE();
  for (int i = 0; i < NE; i++)
  @@ -554,7 +553,7 @@ int main (int argc, char *argv[])
  double minJ0 = tauval;
  cout << "Minimum det(J) of the original mesh is " << minJ0 << endl;
  - // 19. Perform the nonlinear optimization.
  + // 19. Finally, perform the nonlinear optimization.
  NewtonSolver *newton = NULL;
  if (minJ0 > 0.0)
  {
  @@ -592,21 +591,18 @@ int main (int argc, char *argv[])
  mesh->Print(mesh_ofs);
  }
  - // 21. Compute the energy decrease.
  + // 21. Compute the amount of energy decrease.
  const double fin_en = a.GetEnergy(*x);
  cout << "Final strain energy : " << fin_en << endl;
  cout << "The strain energy decreased by: " << setprecision(12)
  << (init_en - fin_en) * 100.0 / init_en << " %." << endl;
  // 22. Visualize the final mesh and metric values.
  - if (visualization)
  - {
  if (visualization)
  {
  char title[] = "Final metric values";
  vis_metric(mesh_poly_deg, *model, *tj, *mesh, title, 600);
  }
  - }
  // 23. Visualize the mesh displacement.
  if (visualization)
  