Loading...
Searching...
No Matches
MolSys

Namespaces

namespace  molSys
 Bare-bones structs used throughout the architecture.

Concepts

concept  molSys::CoordinateScalar
concept  molSys::molSys::CoordinateScalar
 The arithmetic type a coordinate may take.

Classes

struct  molSys::Result
 This contains the bond classifier of enum class type bond_type, and the bond correlation factor. More...
struct  molSys::Point< T >
 This contains per-particle information. More...
struct  molSys::PointCloud< S, T >
 This contains a collection of points; contains information for a particular frame. More...

Enumerations

enum class  molSys::bond_type { molSys::bond_type::staggered , molSys::bond_type::eclipsed , molSys::bond_type::out_of_range }
enum class  molSys::atom_state_type {
  molSys::atom_state_type::cubic , molSys::atom_state_type::hexagonal , molSys::atom_state_type::water , molSys::atom_state_type::interfacial ,
  molSys::atom_state_type::clathrate , molSys::atom_state_type::interClathrate , molSys::atom_state_type::unclassified , molSys::atom_state_type::reCubic ,
  molSys::atom_state_type::reHex
}

Functions

std::unordered_map< int, int > molSys::createIDMolIDmap (molSys::PointCloud< molSys::Point< double >, double > &yCloud)
std::unordered_multimap< int, int > molSys::createMolIDAtomIDMultiMap (molSys::PointCloud< molSys::Point< double >, double > &yCloud)
std::vector< std::vector< int > > molSys::hAtomMolList (molSys::PointCloud< molSys::Point< double >, double > &hCloud, molSys::PointCloud< molSys::Point< double >, double > &oCloud)
int molSys::searchMolList (const std::vector< std::vector< int > > &molList, int molIDtoFind)
molSys::PointCloud< molSys::Point< double >, double > molSys::clearPointCloud (molSys::PointCloud< molSys::Point< double >, double > &yCloud)
 //! Function for clearing vectors in PointCloud after multiple usage

Variables

bond_type molSys::Result::classifier
double molSys::Result::c_value
 Classifier according to CHILL, CHILL+ etc.
int molSys::Point< T >::type = 0
int molSys::Point< T >::molID = 0
int molSys::Point< T >::atomID = 0
molSys::Point< T >::x = 0
 type ID, molID, atomID
molSys::Point< T >::y = 0
molSys::Point< T >::z = 0
std::vector< ResultmolSys::Point< T >::c_ij
 coordinates
atom_state_type molSys::Point< T >::iceType
 Results (contains bond correlation type).
bool molSys::Point< T >::inSlice = true
 Type of ice/water etc based on cij.
std::vector< S > molSys::PointCloud< S, T >::pts
int molSys::PointCloud< S, T >::currentFrame = 0
 Collection of points.
int molSys::PointCloud< S, T >::nop = 0
 Current frame number.
std::vector< T > molSys::PointCloud< S, T >::box
 Number of atoms.
std::vector< T > molSys::PointCloud< S, T >::boxLow
 Periodic box lengths.
std::unordered_map< int, int > molSys::PointCloud< S, T >::idIndexMap
 xlo, ylo, zlo

Detailed Description

Enumeration Type Documentation

◆ atom_state_type

enum class molSys::atom_state_type
strong
Enumerator
cubic 

Ic, or particle type signifying Cubic Ice.

hexagonal 

Ih, or particle type signifying Hexagonal Ice.

water 

Liquid/amorphous phase.

interfacial 

Interfacial ice: ice-like molecules which do not fulfill the strict criteria of the Ic or Ih phases.

clathrate 

Clathrate ice phase.

interClathrate 

Interfacial clathrate ice phase.

unclassified 

Not classified into any other category.

reCubic 

Reclassified as cubic ice, according to the \(q_6\) order parameter.

reHex 

Reclassified as hexagonal ice, according to the \(q_6\) order parameter.

Definition at line 107 of file mol_sys.hpp.

107 {
108 cubic,
109 hexagonal,
110 water,
112 clathrate,
115 reCubic,
116 reHex
117};
@ hexagonal
Ih, or particle type signifying Hexagonal Ice.
Definition mol_sys.hpp:109
@ reCubic
Reclassified as cubic ice, according to the order parameter.
Definition mol_sys.hpp:115
@ interfacial
Interfacial ice: ice-like molecules which do not fulfill the strict criteria of the Ic or Ih phases.
Definition mol_sys.hpp:111
@ cubic
Ic, or particle type signifying Cubic Ice.
Definition mol_sys.hpp:108
@ interClathrate
Interfacial clathrate ice phase.
Definition mol_sys.hpp:113
@ water
Liquid/amorphous phase.
Definition mol_sys.hpp:110
@ reHex
Reclassified as hexagonal ice, according to the order parameter.
Definition mol_sys.hpp:116
@ clathrate
Clathrate ice phase.
Definition mol_sys.hpp:112
@ unclassified
Not classified into any other category.
Definition mol_sys.hpp:114

◆ bond_type

enum class molSys::bond_type
strong
Enumerator
staggered 

The bond is a staggered bond, according to the \(a(i,j)\) or \(c(i,j)\) value.

eclipsed 

The bond is an eclipsed bond.

out_of_range 

The bond cannot be classified as either staggered or eclipsed.

Definition at line 69 of file mol_sys.hpp.

@ eclipsed
The bond is an eclipsed bond.
Definition mol_sys.hpp:69
@ out_of_range
The bond cannot be classified as either staggered or eclipsed.
Definition mol_sys.hpp:69
@ staggered
The bond is a staggered bond, according to the or value.
Definition mol_sys.hpp:69

Function Documentation

◆ clearPointCloud()

molSys::PointCloud< molSys::Point< double >, double > molSys::clearPointCloud ( molSys::PointCloud< molSys::Point< double >, double > & yCloud)

//! Function for clearing vectors in PointCloud after multiple usage

◆ createIDMolIDmap()

std::unordered_map< int, int > molSys::createIDMolIDmap ( molSys::PointCloud< molSys::Point< double >, double > & yCloud)

Creates an unordered map, with the atomIDs as keys and molecular IDs as the values

◆ createMolIDAtomIDMultiMap()

std::unordered_multimap< int, int > molSys::createMolIDAtomIDMultiMap ( molSys::PointCloud< molSys::Point< double >, double > & yCloud)

Creates an multimap with molecule IDs of the atoms as the keys and the atom IDs as the values. More than one atom can have the same molecule ID

◆ hAtomMolList()

std::vector< std::vector< int > > molSys::hAtomMolList ( molSys::PointCloud< molSys::Point< double >, double > & hCloud,
molSys::PointCloud< molSys::Point< double >, double > & oCloud )

Returns a vector of vectors, which contains the molIDs in the first column, and the hydrogen atom indices (not atom IDs) in the row

◆ searchMolList()

int molSys::searchMolList ( const std::vector< std::vector< int > > & molList,
int molIDtoFind )
nodiscard

This function searches a vector of vectors molList, for a particular molecular ID, and returns the index in molList

Variable Documentation

◆ atomID

template<CoordinateScalar T>
int molSys::Point< T >::atomID = 0

Definition at line 153 of file mol_sys.hpp.

◆ box

template<typename S, CoordinateScalar T>
std::vector<T> molSys::PointCloud< S, T >::box

Number of atoms.

Definition at line 177 of file mol_sys.hpp.

◆ boxLow

template<typename S, CoordinateScalar T>
std::vector<T> molSys::PointCloud< S, T >::boxLow

Periodic box lengths.

Definition at line 178 of file mol_sys.hpp.

◆ c_ij

template<CoordinateScalar T>
std::vector<Result> molSys::Point< T >::c_ij

coordinates

Definition at line 155 of file mol_sys.hpp.

◆ c_value

double molSys::Result::c_value

Classifier according to CHILL, CHILL+ etc.

Definition at line 128 of file mol_sys.hpp.

◆ classifier

bond_type molSys::Result::classifier

Definition at line 127 of file mol_sys.hpp.

◆ currentFrame

template<typename S, CoordinateScalar T>
int molSys::PointCloud< S, T >::currentFrame = 0

Collection of points.

Definition at line 175 of file mol_sys.hpp.

◆ iceType

template<CoordinateScalar T>
atom_state_type molSys::Point< T >::iceType
Initial value:

Results (contains bond correlation type).

Definition at line 156 of file mol_sys.hpp.

◆ idIndexMap

template<typename S, CoordinateScalar T>
std::unordered_map<int, int> molSys::PointCloud< S, T >::idIndexMap

xlo, ylo, zlo

Definition at line 179 of file mol_sys.hpp.

◆ inSlice

template<CoordinateScalar T>
bool molSys::Point< T >::inSlice = true

Type of ice/water etc based on cij.

Definition at line 158 of file mol_sys.hpp.

◆ molID

template<CoordinateScalar T>
int molSys::Point< T >::molID = 0

Definition at line 153 of file mol_sys.hpp.

◆ nop

template<typename S, CoordinateScalar T>
int molSys::PointCloud< S, T >::nop = 0

Current frame number.

Definition at line 176 of file mol_sys.hpp.

◆ pts

template<typename S, CoordinateScalar T>
std::vector<S> molSys::PointCloud< S, T >::pts

Definition at line 174 of file mol_sys.hpp.

◆ type

template<CoordinateScalar T>
int molSys::Point< T >::type = 0

Definition at line 153 of file mol_sys.hpp.

◆ x

template<CoordinateScalar T>
T molSys::Point< T >::x = 0

type ID, molID, atomID

Definition at line 154 of file mol_sys.hpp.

◆ y

template<CoordinateScalar T>
T molSys::Point< T >::y = 0

Definition at line 154 of file mol_sys.hpp.

◆ z

template<CoordinateScalar T>
T molSys::Point< T >::z = 0

Definition at line 154 of file mol_sys.hpp.