Gromacs
2025-dev-20241002-88a4191
|
This structure contains data needed for the groups involved in swapping: split group 0, split group 1, solvent group, ion groups.
Public Member Functions | |
swap_group (const gmx::LocalAtomSet &atomset) | |
Construct a swap group given the managed swap atoms. More... | |
Public Attributes | |
char * | molname = nullptr |
Name of the group or ion type. | |
int | apm = 0 |
Number of atoms in each molecule. | |
gmx::LocalAtomSet | atomSet |
The atom indices in the swap group. | |
rvec * | xc = nullptr |
Collective array of group atom positions (size nat) | |
ivec * | xc_shifts = nullptr |
Current (collective) shifts (size nat) | |
ivec * | xc_eshifts = nullptr |
Extra shifts since last DD step (size nat) | |
rvec * | xc_old = nullptr |
Old (collective) positions (size nat) | |
real | q = 0. |
Total charge of one molecule of this group. | |
real * | m = nullptr |
Masses (can be omitted, size apm) | |
Domain * | comp_from = nullptr |
(Collective) Stores from which compartment this molecule has come. More... | |
Domain * | comp_now = nullptr |
In which compartment this ion is now (size nMol) | |
ChannelHistory * | channel_label = nullptr |
Which channel was passed at last by this ion? (size nMol) | |
rvec | center |
Center of the group; COM if masses are used. | |
gmx::EnumerationArray < Compartment, t_compartment > | comp |
Distribution of particles of this group across the two compartments. | |
gmx::EnumerationArray < Compartment, real > | vacancy |
How many molecules need to be swapped in? | |
gmx::EnumerationArray< Channel, int > | fluxfromAtoB |
Net flux of ions per channel. | |
gmx::EnumerationArray< Channel, int > | nCyl |
Number of ions residing in a channel. | |
int | nCylBoth = 0 |
Ions assigned to cyl0 and cyl1. More... | |
t_swapgrp::swap_group | ( | const gmx::LocalAtomSet & | atomset | ) |
Construct a swap group given the managed swap atoms.
[in] | atomset | Managed indices of atoms that are part of the swap group. |
Domain* swap_group::comp_from = nullptr |
(Collective) Stores from which compartment this molecule has come.
This way we keep track of through which channel an ion permeates (size nMol = nat/apm)
int swap_group::nCylBoth = 0 |
Ions assigned to cyl0 and cyl1.
Not good.