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

📄 mpqcin.h

📁 大型并行量子化学软件;支持密度泛函(DFT)。可以进行各种量子化学计算。支持CHARMM并行计算。非常具有应用价值。
💻 H
字号:
#ifndef _mpqcin_h#define _mpqcin_h#include <vector>#include <iostream>#include <util/keyval/keyval.h>#include <chemistry/molecule/molecule.h>class MPQCInFlexLexer;namespace sc {class IPV2;template <class T>class MPQCInDatum {    int set_;    T val_;  public:    MPQCInDatum(const T&v): val_(v), set_(0) {}    const T &operator =(const T&v) { set_ = 1; val_ = v; return val_; }    void reset(const T &val) { set_ = 0; val_ = val; }    int set() const { return set_; }    T val() const { return val_; }};class MPQCIn {    MPQCInFlexLexer *lexer_;    Ref<Molecule> mol_;    MPQCInDatum<int> gradient_;    MPQCInDatum<int> frequencies_;    MPQCInDatum<int> optimize_;    MPQCInDatum<int> mult_;    MPQCInDatum<int> redund_coor_;    MPQCInDatum<int> opt_type_;    MPQCInDatum<int> restart_;    MPQCInDatum<int> checkpoint_;    MPQCInDatum<int> charge_;    MPQCInDatum<int> atom_charge_;    MPQCInDatum<int> molecule_bohr_;    MPQCInDatum<char *> basis_;    MPQCInDatum<char *> auxbasis_;    MPQCInDatum<char *> method_;    MPQCInDatum<char *> method_xc_;    MPQCInDatum<char *> method_grid_;    MPQCInDatum<char *> symmetry_;    MPQCInDatum<char *> memory_;    MPQCInDatum<std::vector<int> *> alpha_;    MPQCInDatum<std::vector<int> *> beta_;    MPQCInDatum<std::vector<int> *> docc_;    MPQCInDatum<std::vector<int> *> socc_;    MPQCInDatum<std::vector<int> *> frozen_docc_;    MPQCInDatum<std::vector<int> *> frozen_uocc_;    int nirrep_;    void write_energy_object(std::ostream&, const char *keyword,                             const char *method,                             const char *basis, int coor,                             bool need_cints = false);    void write_basis_object(std::ostream&, const char *keyword,                            const char *basis);    void write_vector(std::ostream &ostrs,                      const char *keyvalname,                      const char *name,                      MPQCInDatum<std::vector<int> *>&vec,                      int require_nirrep);    static int checking_;  public:    MPQCIn();    ~MPQCIn();    char *parse_string(const char *s);    int check_string(const char *s);    int ylex();    int yparse();    void error(const char* s);    void error2(const char* s, const char* s2);    void yerror(const char* s);    void yerror2(const char* s, const char *);    void begin_molecule();    void end_molecule();    void add_atom(char *, char *, char *, char *);    void set_charge(char *);    void set_method(char *);    void set_basis(char *);    void set_auxbasis(char *);    void set_multiplicity(char *);    void set_memory(char *);    void set_optimize(int);    void set_opt_type(int);    void set_atom_charge(char *);    void set_molecule_unit(char *);    void set_method_xc(char *);    void set_method_grid(char *);    void set_symmetry(char *);    void set_redund_coor(int);    void set_gradient(int);    void set_frequencies(int);    void set_restart(int);    void set_checkpoint(int);    void set_molecule_bohr(int);    void set_docc(std::vector<int> *);    void set_socc(std::vector<int> *);    void set_alpha(std::vector<int> *);    void set_beta(std::vector<int> *);    void set_frozen_docc(std::vector<int> *);    void set_frozen_uocc(std::vector<int> *);    std::vector<int> *make_nnivec(std::vector<int> *, char *);    static int checking() { return checking_; }};}#endif

⌨️ 快捷键说明

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