Classes | |
| struct | DensityZ |
| struct | GuestOccupancy |
| Guests read against enumerated cages. More... | |
| struct | IceClusterIons |
| Connected components of ice atoms on the water graph, and the ion count per component: each ion is assigned to the cluster of the nearest ice atom within cutoff. More... | |
| struct | IonEnvironment |
| struct | Table |
Enumerations | |
| enum class | Kind { unspecified , cationHead , anion , tail , donorH , acceptor , polar , apolar , waterO , waterH , solvent } |
| enum class | Family { waterIce , ionicLiquid , moltenSalt , des , electrolyte , confinedIL , confinedWater , networkFormer } |
| enum class | IonState { liquid = 0 , front = 1 , ice = 2 } |
| Ions read against a per-atom ice assignment. More... | |
Functions | |
| DensityZ | densityZ (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, int typeI, int nbin, int axis) |
| Histogram Point::{x,y,z} for typeI (0 = every atom). axis is 0, 1, or 2. | |
| DensityZ | densityZ (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const Table &table, Kind kind, int nbin, int axis) |
| Same histogram, restricted to atoms whose Table kind matches. | |
| bool | iceScoreAllowed (Family f) |
| const char * | refuseIceScore (Family f) |
| const char * | familyName (Family f) |
| Family | parseFamily (std::string_view name) |
| std::vector< int > | indicesOf (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const Table &table, Kind kind) |
| int | lammpsTypeOfKind (const Table &table, Kind kind) |
| molSys::PointCloud< molSys::Point< double >, double > | ionCloud (const molSys::PointCloud< molSys::Point< double >, double > &src, const Table &table) |
| Table | parseSiteSpec (std::string_view spec) |
| IonEnvironment | ionEnvironment (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< bool > &iceFlag, const std::vector< int > &ionIndices, int waterType, double cutoff) |
| iceFlag is indexed like yCloud.pts; waterType selects the water oxygens (0 accepts every atom that is not an ion); cutoff is the first shell radius in the cloud's length unit. | |
| std::vector< int > | shellRingCensus (const std::vector< std::vector< int > > &rings, const std::vector< int > &shell, int maxRingSize) |
| Rings of the water network that pass through a first shell: the census by size of every ring with at least one vertex in shell. | |
| GuestOccupancy | guestOccupancy (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &cages, const std::vector< int > &guestIndices, double radius) |
| cages are vertex index lists into yCloud.pts; radius in the cloud's length unit (half the cage diameter, about 4 A for a 5^12 cage). | |
| std::array< double, 3 > | periodicCentroid (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< int > &atoms) |
| Periodic centroid of a set of atoms: every atom is unwrapped to its minimum image about the first, and the mean is taken there. | |
| GuestOccupancy | guestOccupancyInside (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< std::vector< int > > &rings, const std::vector< std::vector< int > > &cageFaces, const std::vector< int > &guestIndices) |
| Occupancy by ray-parity: a guest sits in a cage when a ray from the guest, in the frame that unwraps the cage about its periodic centroid, crosses an odd number of fan-triangulated faces. | |
| IceClusterIons | iceClusterIonCensus (const molSys::PointCloud< molSys::Point< double >, double > &yCloud, const std::vector< bool > &ice, const std::vector< std::vector< int > > &nListByIndex, const std::vector< int > &ionIndices, double cutoff) |
|
strong |
|
strong |
Ions read against a per-atom ice assignment.
Ions are not part of the hydrogen-bond network; the assignment is computed on the water and each ion is classed by its first water shell: every shell molecule labelled is ice, none is liquid, otherwise front. An ion with an empty shell is liquid.
| Enumerator | |
|---|---|
| liquid | |
| front | |
| ice | |
Definition at line 86 of file site.hpp.
|
strong |
| DensityZ site::densityZ | ( | const molSys::PointCloud< molSys::Point< double >, double > & | yCloud, |
| const Table & | table, | ||
| Kind | kind, | ||
| int | nbin, | ||
| int | axis ) |
Same histogram, restricted to atoms whose Table kind matches.
| DensityZ site::densityZ | ( | const molSys::PointCloud< molSys::Point< double >, double > & | yCloud, |
| int | typeI, | ||
| int | nbin, | ||
| int | axis ) |
Histogram Point::{x,y,z} for typeI (0 = every atom). axis is 0, 1, or 2.
| const char * site::familyName | ( | Family | f | ) |
| GuestOccupancy site::guestOccupancy | ( | const molSys::PointCloud< molSys::Point< double >, double > & | yCloud, |
| const std::vector< std::vector< int > > & | cages, | ||
| const std::vector< int > & | guestIndices, | ||
| double | radius ) |
cages are vertex index lists into yCloud.pts; radius in the cloud's length unit (half the cage diameter, about 4 A for a 5^12 cage).
| GuestOccupancy site::guestOccupancyInside | ( | const molSys::PointCloud< molSys::Point< double >, double > & | yCloud, |
| const std::vector< std::vector< int > > & | rings, | ||
| const std::vector< std::vector< int > > & | cageFaces, | ||
| const std::vector< int > & | guestIndices ) |
Occupancy by ray-parity: a guest sits in a cage when a ray from the guest, in the frame that unwraps the cage about its periodic centroid, crosses an odd number of fan-triangulated faces.
Among cages that contain the guest the nearest centroid wins. rings is the ring list the cage faces index; cageFaces[c] is the face indices of cage c.
| IceClusterIons site::iceClusterIonCensus | ( | const molSys::PointCloud< molSys::Point< double >, double > & | yCloud, |
| const std::vector< bool > & | ice, | ||
| const std::vector< std::vector< int > > & | nListByIndex, | ||
| const std::vector< int > & | ionIndices, | ||
| double | cutoff ) |
| bool site::iceScoreAllowed | ( | Family | f | ) |
| std::vector< int > site::indicesOf | ( | const molSys::PointCloud< molSys::Point< double >, double > & | yCloud, |
| const Table & | table, | ||
| Kind | kind ) |
| molSys::PointCloud< molSys::Point< double >, double > site::ionCloud | ( | const molSys::PointCloud< molSys::Point< double >, double > & | src, |
| const Table & | table ) |
| IonEnvironment site::ionEnvironment | ( | const molSys::PointCloud< molSys::Point< double >, double > & | yCloud, |
| const std::vector< bool > & | iceFlag, | ||
| const std::vector< int > & | ionIndices, | ||
| int | waterType, | ||
| double | cutoff ) |
iceFlag is indexed like yCloud.pts; waterType selects the water oxygens (0 accepts every atom that is not an ion); cutoff is the first shell radius in the cloud's length unit.
| Family site::parseFamily | ( | std::string_view | name | ) |
| Table site::parseSiteSpec | ( | std::string_view | spec | ) |
| std::array< double, 3 > site::periodicCentroid | ( | const molSys::PointCloud< molSys::Point< double >, double > & | yCloud, |
| const std::vector< int > & | atoms ) |
Periodic centroid of a set of atoms: every atom is unwrapped to its minimum image about the first, and the mean is taken there.
| const char * site::refuseIceScore | ( | Family | f | ) |
| std::vector< int > site::shellRingCensus | ( | const std::vector< std::vector< int > > & | rings, |
| const std::vector< int > & | shell, | ||
| int | maxRingSize ) |
Rings of the water network that pass through a first shell: the census by size of every ring with at least one vertex in shell.
An ion is not a vertex of the network, so the rings it would have closed are gone and the rings its shell still carries measure how far the network survives around it (the hydration-shell ring census of a brine or an ionic solution). census[s] counts rings of size s up to maxRingSize.