#include #include #include #include #include #include #include using namespace std; using namespace sc; using namespace Chemistry; using namespace Chemistry::QC::GaussianBasis; Ref basis_cca_to_sc( Molecular &cca_basis ) { const char* am_to_symbol[] = {"s", "p", "d", "f", "g", "h", "i", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}; //cca_basis.print_molecular(); Chemistry::Molecule cca_mol = cca_basis.get_molecule(); ostringstream input; // form molecule keyval double conv = cca_mol.get_units().convert_to("bohr"); input << "molecule: (\n" << " symmetry = auto\n" << " unit = bohr\n" << " {n atoms geometry } = {\n"; for( int i=0; i:(\n" << " molecule = $:molecule\n" << " basis = ["; for(int i=0; i: : [ AtomInfo empty_info; for(int i=0; i ...] input << " (normalized = 0\n"; //input << " (normalized = 1\n"; input << " type: ["; for(int icon=0; icon ...} = { input << " {exp"; for(int icon=0; icon ... for(int iprim=0; iprim kv = new ParsedKeyVal(); kv->parse_string( input.str().c_str() ); Ref dc = kv->describedclassvalue("scbasis"); GaussianBasisSet *sc_basis = dynamic_cast< GaussianBasisSet* >( dc.pointer() ); Ref gbs; gbs.assign_pointer(sc_basis); //for(int i=0; inshell(); ++i) // gbs->shell(i).print(); return gbs; }