实验室(做材料计算的)在写一个程序
程序很重要的一步是求一维势能曲线的最小值点。
有的时候势能曲线会呈现这种阶梯状(并非都是单向的,会有起伏),形状如下图,图标和我说的没关系,只是为了说明阶梯形是什么样子才百度找了一张图。当然很多时候就是普通的势能曲线(光滑)

找最小值这一步是要重复很多次的的,第一性原理计算中每做一次电子迭代都需要把势能曲线(势能曲线不断刷新)的最小值找出来一次,一维系统中粒子数目比较多,所以需要一个方法能够很快地找到势能曲线最小值。
现在实验室用的是牛顿法,但是这个方法对形如阶梯状的势能曲线会出现不收敛的情况。
请问用什么方法可以快速找到势能曲线的最小值及对应横坐标呢?希望能够达到和牛顿法差不多的速度,并且能够很顺利的handle阶梯势能曲线的情况。
真心请教各位大神。
程序很重要的一步是求一维势能曲线的最小值点。
有的时候势能曲线会呈现这种阶梯状(并非都是单向的,会有起伏),形状如下图,图标和我说的没关系,只是为了说明阶梯形是什么样子才百度找了一张图。当然很多时候就是普通的势能曲线(光滑)

找最小值这一步是要重复很多次的的,第一性原理计算中每做一次电子迭代都需要把势能曲线(势能曲线不断刷新)的最小值找出来一次,一维系统中粒子数目比较多,所以需要一个方法能够很快地找到势能曲线最小值。
现在实验室用的是牛顿法,但是这个方法对形如阶梯状的势能曲线会出现不收敛的情况。
请问用什么方法可以快速找到势能曲线的最小值及对应横坐标呢?希望能够达到和牛顿法差不多的速度,并且能够很顺利的handle阶梯势能曲线的情况。
真心请教各位大神。