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

📄 psiwfn.h

📁 大型并行量子化学软件;支持密度泛函(DFT)。可以进行各种量子化学计算。支持CHARMM并行计算。非常具有应用价值。
💻 H
字号:
#ifdef __GNUC__#pragma interface#endif#ifndef _chemistry_qc_psi_psiwfn_h#define _chemistry_qc_psi_psiwfn_h#include <chemistry/qc/wfn/wfn.h>#include <chemistry/qc/psi/psiexenv.h>namespace sc {////////////////////////////////////////////////////////////////////** PsiWavefunction is an abstract base for all Psi wave functions.Its KeyVal constructor is invoked by all KeyVal constructors ofconcrete implementations of PsiWavefunction.*/class PsiWavefunction: public Wavefunction {    Ref<PsiExEnv> exenv_;    int* read_occ(const Ref<KeyVal> &keyval, const char *name, int nirrep);  protected:    int nirrep_;    int *docc_;    int *socc_;    int *frozen_docc_;    int *frozen_uocc_;    int multp_;    int charge_;    char *memory_;    /// Prepares a complete Psi input file. The input file is assumed to have been opened.    virtual void write_input(int conv) =0;  public:    /** The KeyVal constructor.        <dl>        <dt><tt>psienv</tt><dd> Specifies a PsiExEnv object.  There        is no default.	<dt><tt>memory</tt><dd> This integer specifies the amount of memory	(in bytes) for Psi to use. The default is 2000000.        <dt><tt>debug</tt><dd> This integer can be used to produce output        for debugging.  The default is 0.        </dl> */    PsiWavefunction(const Ref<KeyVal>&);    PsiWavefunction(StateIn&);    ~PsiWavefunction();    void save_data_state(StateOut&);    /** Writes out Psi input file entries specific to this PsiWavefunction.	The input file is assumed to have been opened. */    virtual void write_basic_input(int conv);    void compute();    void print(std::ostream&o=ExEnv::out0()) const;    RefSymmSCMatrix density();    int nelectron();    /// Return an associated PsiExEnv object    Ref<PsiExEnv> get_psi_exenv() const { return exenv_; };    /// Return an associated PsiInput object    Ref<PsiInput> get_psi_input() const { return exenv_->get_psi_input(); };};////////////////////////////////////////////////////////////////////// PsiSCF is an abstract base for all Psi SCF wave functionsclass PsiSCF: public PsiWavefunction {  public:    PsiSCF(const Ref<KeyVal>&);    PsiSCF(StateIn&);    ~PsiSCF();    void save_data_state(StateOut&);    enum RefType {rhf, hsoshf, uhf};    /// Returns the PsiSCF::RefType of this particular Psi SCF wave function    virtual PsiSCF::RefType reftype() const =0;};////////////////////////////////////////////////////////////////////// PsiCLHF is a concrete implementation of Psi RHF wave functionclass PsiCLHF: public PsiSCF {  protected:    void write_input(int conv);  public:    PsiCLHF(const Ref<KeyVal>&);    PsiCLHF(StateIn&);    ~PsiCLHF();    void write_basic_input(int conv);    int spin_polarized() { return 0;};    int gradient_implemented() const { return 1;};    PsiSCF::RefType reftype() const { return rhf;};};////////////////////////////////////////////////////////////////////// PsiHSOSHF is a concrete implementation of Psi ROHF wave functionclass PsiHSOSHF: public PsiSCF {  protected:    void write_input(int conv);  public:    PsiHSOSHF(const Ref<KeyVal>&);    PsiHSOSHF(StateIn&);    ~PsiHSOSHF();    void write_basic_input(int conv);    int spin_polarized() { return 0;};    int gradient_implemented() const { return 1;};    PsiSCF::RefType reftype() const { return hsoshf;};};////////////////////////////////////////////////////////////////////// PsiUHF is a concrete implementation of Psi UHF wave functionclass PsiUHF: public PsiSCF {  protected:    void write_input(int conv);  public:    PsiUHF(const Ref<KeyVal>&);    PsiUHF(StateIn&);    ~PsiUHF();    void write_basic_input(int conv);    int spin_polarized() { return 1;};    int gradient_implemented() const { return 1;};    PsiSCF::RefType reftype() const { return uhf;};};////////////////////////////////////////////////////////////////////// PsiCCSD is a concrete implementation of Psi CCSD wave functionclass PsiCCSD: public PsiWavefunction {    Ref<PsiSCF> reference_;  protected:    void write_input(int conv);  public:    PsiCCSD(const Ref<KeyVal>&);    PsiCCSD(StateIn&);    ~PsiCCSD();    void save_data_state(StateOut&);    int spin_polarized() { return reference_->spin_polarized();};    int gradient_implemented() const;};////////////////////////////////////////////////////////////////////// PsiCCSD_T is a concrete implementation of Psi CCSD(T) wave functionclass PsiCCSD_T: public PsiWavefunction {    Ref<PsiSCF> reference_;  protected:    void write_input(int conv);  public:    PsiCCSD_T(const Ref<KeyVal>&);    PsiCCSD_T(StateIn&);    ~PsiCCSD_T();    void save_data_state(StateOut&);    int spin_polarized() { return reference_->spin_polarized();};    int gradient_implemented() const;};}#endif

⌨️ 快捷键说明

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