#include <cstdio>
#include "gromacs/math/vectypes.h"
#include "gromacs/utility/basedefinitions.h"
The "Computational Electrophysiology" protocol for ion/water position swapping.
- Author
- Carsten Kutzner ckutz.nosp@m.ne@g.nosp@m.wdg.d.nosp@m.e
|
void | init_swapcoords (FILE *fplog, t_inputrec *ir, const char *fn, gmx_mtop_t *mtop, const t_state *globalState, ObservablesHistory *oh, t_commrec *cr, const gmx_output_env_t *oenv, const MdrunOptions &mdrunOptions) |
| Initialize ion / water position swapping ("Computational Electrophysiology"). More...
|
|
void | finish_swapcoords (t_swapcoords *sc) |
| Finalizes ion / water position swapping. More...
|
|
void | dd_make_local_swap_groups (gmx_domdec_t *dd, t_swapcoords *si_pub) |
| Make a selection of the home atoms for the swap groups. These are the ions, the water, and the channels. This routine should be called at every domain decomposition. More...
|
|
gmx_bool | do_swapcoords (t_commrec *cr, gmx_int64_t step, double t, t_inputrec *ir, gmx_wallcycle *wcycle, rvec x[], matrix box, gmx_bool bVerbose, gmx_bool bRerun) |
| "Computational Electrophysiology" main routine within MD loop. More...
|
|
void dd_make_local_swap_groups |
( |
gmx_domdec_t * |
dd, |
|
|
t_swapcoords * |
si_pub |
|
) |
| |
Make a selection of the home atoms for the swap groups. These are the ions, the water, and the channels. This routine should be called at every domain decomposition.
- Parameters
-
[in] | dd | Structure containing domain decomposition data. |
[in] | si_pub | Pointer to the swap data structure. |
gmx_bool do_swapcoords |
( |
t_commrec * |
cr, |
|
|
gmx_int64_t |
step, |
|
|
double |
t, |
|
|
t_inputrec * |
ir, |
|
|
gmx_wallcycle * |
wcycle, |
|
|
rvec |
x[], |
|
|
matrix |
box, |
|
|
gmx_bool |
bVerbose, |
|
|
gmx_bool |
bRerun |
|
) |
| |
"Computational Electrophysiology" main routine within MD loop.
- Parameters
-
[in] | cr | Pointer to MPI communication data. |
[in] | step | The number of the MD time step. |
[in] | t | The time. |
[in] | ir | Structure containing MD input parameters, among those also the structure needed for position swapping. |
[in] | wcycle | Count wallcycles of swap routines for diagnostic output. |
[in] | x | Positions of home particles this node owns. |
[in] | box | The simulation box. |
[in] | bVerbose | Should we be quiet or verbose? |
[in] | bRerun | Are we doing a rerun? |
- Returns
- Whether at least one pair of molecules was swapped.
void finish_swapcoords |
( |
t_swapcoords * |
sc | ) |
|
Finalizes ion / water position swapping.
- Parameters
-
[in] | sc | Pointer to swap data. |
void init_swapcoords |
( |
FILE * |
fplog, |
|
|
t_inputrec * |
ir, |
|
|
const char * |
fn, |
|
|
gmx_mtop_t * |
mtop, |
|
|
const t_state * |
globalState, |
|
|
ObservablesHistory * |
oh, |
|
|
t_commrec * |
cr, |
|
|
const gmx_output_env_t * |
oenv, |
|
|
const MdrunOptions & |
mdrunOptions |
|
) |
| |
Initialize ion / water position swapping ("Computational Electrophysiology").
This routine does the memory allocation for various helper arrays, opens the output file, sets up swap data checkpoint writing, etc.
- Parameters
-
[in] | fplog | General output file, normally md.log. |
[in] | ir | Structure containing MD input parameters, among those also the structure needed for position swapping. |
[in] | fn | Output file name for swap data. |
[in] | mtop | Molecular topology. |
[in] | globalState | The global state, only used on the master rank. |
[in] | oh | Contains struct with swap data that is read from or written to checkpoint. |
[in] | cr | Pointer to MPI communication data. |
[in] | oenv | Needed to open the swap output XVGR file. |
[in] | mdrunOptions | Options for mdrun. |