-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbgy3d-impure.h
37 lines (32 loc) · 1.42 KB
/
bgy3d-impure.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* -*- mode: c; c-basic-offset: 2; -*- vim: set sw=2 tw=70 et sta ai: */
/*
Copyright (c) 2007 Lukas Jager
Copyright (c) 2013, 2014 Alexei Matveev
Copyright (c) 2013 Bo Li
*/
#include <libguile.h> /* SCM */
/*
A Restart* token to be passed there an back for resuming iterations
without disk access. There is no explicit constructor for these
objects but they are (optionally) returned from
bgy3d_solute_solve().
*/
typedef struct Restart Restart;
/*
This function is the main entry point for the BGY3dM equation for a
m-site solvent and an arbitrary solute. The vectors in
Vec g[m], intent(out)
are initialzed as global distributed arrays and filled with the
solvent site distributions. It is the responsibility of the caller
to destroy them when no more needed.
*/
void bgy3d_solute_solve (const ProblemData *PD,
int m, const Site solvent[m],
int n, const Site solute[n],
void (*density)(int k, const real x[k][3], real rho[k]),
SCM *dict, /* inout, alist */
Vec g[m], /* out */
const real *x_buf, /* NULL, or [m][m][nrad] */
Context **medium, /* out, optional */
Restart **restart); /* inout, optional */
void bgy3d_restart_destroy (Restart *restart);