Example #1
0
void
get_force_grape(int ni, double (*xi)[3], int nj, double (*xj)[3], double *mj,
		double eps, double (*a)[3], double *p)
{
    int offs, offr, nii, c, c0, i, np, nc, k;

    if (JMEMSIZE < nj) {
	fprintf(stderr, "nj: %d exceeded GRAPE-5 JMEMSIZE (%d)\n", nj, JMEMSIZE);
	exit(1);
    }
    if (!grape_is_opened()) {
	grape_open();
    }
    g5_set_mj(0, nj, mj);
    g5_set_xj(0, nj, xj);
    g5_set_n(nj);
    g5_set_eps_to_all(eps);

    g5_calculate_force_on_x(xi, a, p, ni);

    for (i = 0; i < ni; i++) {
	p[i] *= -1;
    }
    if (vtc_get_cputime()-grape_holdtime() > 150.0) {
	grape_close();
    }

    i = 10;
    fprintf(stderr, "!!! nj: %d a: %f %f %f p: %f\n",
	    nj, a[i][0], a[i][1], a[i][2], p[i]);
}
Example #2
0
void FNAME(g5_calculate_force_on_x)(double (*x)[3], double (*a)[3], double *p, int *ni)
{
    g5_calculate_force_on_x(x, a, p, *ni);
}