+ std::string simMesg;
+ if (isMultiSim(ms))
+ {
+ simMesg += gmx::formatString(" in simulation %d", ms->sim);
+ }
+ fprintf(stderr,
+ "\nStep %" PRId64 ", time %g (ps) LINCS WARNING%s\n"
+ "relative constraint deviation after LINCS:\n"
+ "rms %.6f, max %.6f (between atoms %d and %d)\n",
+ step, ir.init_t+step*ir.delta_t,
+ simMesg.c_str(),
+ std::sqrt(deviations.sumSquaredDeviation/deviations.numConstraints),
+ deviations.maxDeviation,
+ ddglatnr(cr->dd, lincsd->atoms[deviations.indexOfMaxDeviation].index1),
+ ddglatnr(cr->dd, lincsd->atoms[deviations.indexOfMaxDeviation].index2));
+
+ lincs_warning(cr->dd, x, xprime, pbc,
+ lincsd->nc, lincsd->atoms, lincsd->bllen,
+ ir.LincsWarnAngle, maxwarn, warncount);