Updated exponential fitting to make it robust.
authorDavid van der Spoel <spoel@xray.bmc.uu.se>
Thu, 8 Jan 2015 10:16:27 +0000 (11:16 +0100)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Fri, 17 Apr 2015 10:31:11 +0000 (12:31 +0200)
commit062d4b608185292fcb22b6fb2d682d6f6e720ee2
tree3716236c3618ec09091928f8ec7c391ae09f2f87
parent3bd1342556994115a8e4bcd3aad8debca607a13c
Updated exponential fitting to make it robust.

The exponential fitting code was not robust under different
data. This is improved by ensuring that e.g. time constants
are always positive. For multi-exponential fits the time constants
are guaranteed to be in increasing order. Rewrote test code.

Added test for error estimation that reproduces 5.0 behavior.

Added new manual section "Curve fitting in GROMACS" (8.6).

General cleanups of the code were done.

Change-Id: Ib72fccf7f85742afeeb3fc0fd6fbd44c1c47795a
35 files changed:
docs/manual/analyse.tex
docs/manual/monster.bib
src/external/lmfit/lmcurve.c
src/external/lmfit/lmcurve.h
src/gromacs/correlationfunctions/expfit.c [deleted file]
src/gromacs/correlationfunctions/expfit.cpp [new file with mode: 0644]
src/gromacs/correlationfunctions/expfit.h
src/gromacs/correlationfunctions/tests/expfit.cpp [changed mode: 0755->0644]
src/gromacs/correlationfunctions/tests/refdata/AutocorrTest_EacCos.xml
src/gromacs/correlationfunctions/tests/refdata/AutocorrTest_EacNormal.xml
src/gromacs/correlationfunctions/tests/refdata/AutocorrTest_EacP0.xml
src/gromacs/correlationfunctions/tests/refdata/AutocorrTest_EacP1.xml
src/gromacs/correlationfunctions/tests/refdata/AutocorrTest_EacP2.xml
src/gromacs/correlationfunctions/tests/refdata/AutocorrTest_EacP4.xml
src/gromacs/correlationfunctions/tests/refdata/AutocorrTest_EacVector.xml
src/gromacs/correlationfunctions/tests/refdata/ExpfitTest_EffnERF.xml
src/gromacs/correlationfunctions/tests/refdata/ExpfitTest_EffnERREST.xml
src/gromacs/correlationfunctions/tests/refdata/ExpfitTest_EffnEXP1.xml
src/gromacs/correlationfunctions/tests/refdata/ExpfitTest_EffnEXP2.xml
src/gromacs/correlationfunctions/tests/refdata/ExpfitTest_EffnEXP5.xml
src/gromacs/correlationfunctions/tests/refdata/ExpfitTest_EffnEXP7.xml
src/gromacs/correlationfunctions/tests/refdata/ExpfitTest_EffnEXP9.xml
src/gromacs/correlationfunctions/tests/refdata/ExpfitTest_EffnEXPEXP.xml [moved from src/gromacs/correlationfunctions/tests/refdata/ExpfitTest_EffnEXP3.xml with 63% similarity]
src/gromacs/correlationfunctions/tests/refdata/ExpfitTest_EffnPRES.xml
src/gromacs/correlationfunctions/tests/refdata/ExpfitTest_EffnVAC.xml
src/gromacs/correlationfunctions/tests/testERF.xvg [new file with mode: 0644]
src/gromacs/correlationfunctions/tests/testERREST.xvg [new file with mode: 0644]
src/gromacs/correlationfunctions/tests/testEXP.xvg [deleted file]
src/gromacs/correlationfunctions/tests/testINVEXP.xvg [changed mode: 0755->0644]
src/gromacs/correlationfunctions/tests/testINVEXP79.xvg [new file with mode: 0644]
src/gromacs/gmxana/gmx_analyze.c
src/gromacs/gmxana/gmx_densorder.cpp
src/gromacs/gmxana/gmx_dielectric.c
src/gromacs/gmxana/gmx_hbond.c
src/gromacs/gmxana/gmx_tcaf.c