Ejemplo n.º 1
0
	static void evaluate(const Shell &A, const Shell &B,
			     const Shell &C, const Shell &D,
			     double *Q)  {
	    adapter::rysq::Shell A_(A), B_(B), C_(C), D_(D);
	    //rysq::Quartet<rysq::Shell> quartet(A_, B_, C_, D_);
	    boost::array<Center,4> centers = {{
		    A.center(), B.center(), C.center(), D.center() }};
	    rysq::Eri eri(rysq::Quartet<rysq::Shell>(A_, B_, C_, D_));
	    eri(centers, Q);
	}
Ejemplo n.º 2
0
int main() {

    double e[] = { 1.0 };
    double C[][2] = { { 1.0 }, { 0.0 } };
    rysq::Center r = {{ 1, 0, 0 }};

    rysq::Shell shell(rysq::Contraction(rysq::D, 1, e, C), r);
    size_t N = shell.size*shell.size*shell.size*shell.size;

    double *buffer = new double[N];
    double cutoff = 1e-10;

    rysq::Eri eri;
    eri(shell, shell, shell, shell, buffer, cutoff);

    for (int i = 0; i < N; ++i) {
        printf("eri[%i] = %e\n", i, buffer[i]);
    }

    // std::vector<rysq::Contraction> contractions;
    // std::vector<rysq::Shell> shells;

}