struct site::GuestOccupancy

Overview

Guests read against enumerated cages. More…

#include <site.hpp>
 
struct GuestOccupancy {
    // fields
 
    std::vector<int> guestsPerCage;
    std::vector<int> cageOfGuest;
    std::vector<double> centreDistance;
    int occupied = 0;
    int multiply = 0;
    int free = 0;
};

Detailed Documentation

Guests read against enumerated cages.

A cage is a set of vertex atoms; its centre is the periodic centroid of the vertices. A guest (methane, THF, an ion, any atom outside the network) sits in the cage whose centre is nearest to it when that centre is within radius; a guest with no centre within radius is free. This is the occupancy of a clathrate hydrate (fraction of 5^12 and 5^12 6^2 cages filled) and the test of whether an ion sits inside the network rather than at a vertex.

Fields

std::vector<int> guestsPerCage

per cage, guests inside

std::vector<int> cageOfGuest

per guest in input order, cage index or -1

std::vector<double> centreDistance

per guest, distance to its cage centre (-1 when free)

int occupied = 0

cages with at least one guest

int multiply = 0

cages with more than one guest

int free = 0

guests in no cage