#include "gromacs/legacyheaders/typedefs.h"
#include "gromacs/legacyheaders/types/commrec.h"
#include "gromacs/timing/wallcycle.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, gmx_bool bVerbose, t_inputrec *ir, const char *fn, gmx_mtop_t *mtop, rvec x[], matrix box, swapstate_t *swapstate, t_commrec *cr, const output_env_t oenv, unsigned long Flags) |
| Initialize ion / water position swapping ("Computational Electrophysiology"). 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_t wcycle, rvec x[], matrix box, gmx_mtop_t *mtop, 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_t |
wcycle, |
|
|
rvec |
x[], |
|
|
matrix |
box, |
|
|
gmx_mtop_t * |
mtop, |
|
|
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] | mtop | Molecular topology. |
[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 init_swapcoords |
( |
FILE * |
fplog, |
|
|
gmx_bool |
bVerbose, |
|
|
t_inputrec * |
ir, |
|
|
const char * |
fn, |
|
|
gmx_mtop_t * |
mtop, |
|
|
rvec |
x[], |
|
|
matrix |
box, |
|
|
swapstate_t * |
swapstate, |
|
|
t_commrec * |
cr, |
|
|
const output_env_t |
oenv, |
|
|
unsigned long |
Flags |
|
) |
| |
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] | bVerbose | Should we be quiet or verbose? |
[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] | x | The initial positions of all particles. |
[in] | box | The simulation box. |
[in] | swapstate | Swap-related 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] | Flags | Flags passed over from main, used to determine whether we are doing a rerun, appending, etc. |