⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 diis.h

📁 大型并行量子化学软件;支持密度泛函(DFT)。可以进行各种量子化学计算。支持CHARMM并行计算。非常具有应用价值。
💻 H
字号:
//// diis.h//// Copyright (C) 1996 Limit Point Systems, Inc.//// Author: Curtis Janssen <cljanss@limitpt.com>// Maintainer: LPS//// This file is part of the SC Toolkit.//// The SC Toolkit is free software; you can redistribute it and/or modify// it under the terms of the GNU Library General Public License as published by// the Free Software Foundation; either version 2, or (at your option)// any later version.//// The SC Toolkit is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the// GNU Library General Public License for more details.//// You should have received a copy of the GNU Library General Public License// along with the SC Toolkit; see the file COPYING.LIB.  If not, write to// the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.//// The U.S. Government is granted a limited license as per AL 91-7.//#ifndef _math_optimize_diis_h#define _math_optimize_diis_h#ifdef __GNUC__#pragma interface#endif#include <math/optimize/scextrap.h>namespace sc {/** The DIIS class provides DIIS extrapolation. */class DIIS: public SelfConsistentExtrapolation {  protected:    int start;    int ndiis;    int iter;    int ngroup;    int ngroupdiis;    double damping_factor;    double * btemp;    double ** bold;    double ** bmat;    Ref<SCExtrapData> dtemp_data;    Ref<SCExtrapError> dtemp_error;    Ref<SCExtrapData> Ldata;    Ref<SCExtrapData> *diism_data;    Ref<SCExtrapError> *diism_error;    void init();  public:    DIIS(int strt=1, int ndi=5, double dmp =0, int ngr=1, int ngrdiis=1);    DIIS(StateIn&);    /** The DIIS KeyVal constructor recognizes the following keywords:        <dl>        <dt><tt>n</tt><dd> This integer maximum number of data sets to        retain.  The default is 5.        <dt><tt>start</tt><dd> The DIIS extrapolation will begin on the        iteration given by this integer.  The default is 1.        <dt><tt>damping_factor</tt><dd> This nonnegative floating point        number is used to dampen the DIIS extrapolation.  The default is        0.0.        <dt><tt>ngroup</tt><dd> The number of iterations in a DIIS group.        DIIS extrapolation is only used for the first ngroupdiis of these        interations.  The default is 1.  If ngroup is 1 and ngroupdiis is        greater than 0, then DIIS will be used on all iterations after and        including the start iteration.        <dt><tt>ngroupdiis</tt><dd> The number of DIIS extrapolations to do        at the beginning of an iteration group.  See the documentation for        ngroup.        </dl> */    DIIS(const Ref<KeyVal>&);    ~DIIS();    void save_data_state(StateOut&);        int extrapolate(const Ref<SCExtrapData>& data,                    const Ref<SCExtrapError>& error);    void start_extrapolation();    void reinitialize();};}#endif// Local Variables:// mode: c++// c-file-style: "ETS"// End:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -