Topology (*.top)

What Is Topology?

With switch = 4, RMC_POT can use bonded potentials instead of conventional Fixed Neighbour Constraints (FNC). The required input is a Topology (*.top) file.

The RMC_POT Topology format is broadly based on GROMACS topology conventions. However, it is not a topology intended to run GROMACS molecular dynamics; it is an input file for evaluating bonded potentials in RMC_POT.


Differences from FNC

FNC constrains distances only. Topology can describe intramolecular potential terms such as:

  • Bonds.

  • Angles.

  • Dihedrals.

  • Impropers.

  • Pairs.

It can therefore constrain not only Si–O bonds but also O–Si–O and Si–O–Si angles, an important distinction when preserving glass networks.


Bonded Potentials in RMC_POT

After proposing a move, RMC_POT evaluates not only agreement with experimental data but also bond energy, angle energy, and other potential terms.

A structure with acceptable bond distances but severely distorted angles is therefore less likely to be accepted. This provides a more physically based constraint mechanism than conventional FNC.


Topology Structure

As in GROMACS, a Topology file consists of sections such as:

[ moleculetype ]
[ atoms ]
[ bonds ]
[ pairs ]
[ angles ]
[ dihedrals ]
...

RMC_POT uses only the sections it requires. The current library primarily generates atoms, bonds, and angles.


Approach Used by This Library

Here, a “molecule” represents a local network, not necessarily a discrete chemical molecule. The goal is to represent an extended covalent network as molecules that RMC_POT can process.


Bond Generation

The bond list is constructed from Central → Bridge connections generated by QnNetworkAnalysis. For SiO₂, Si–O connections are bonds; Bridge–Bridge and Si–Si connections are not treated as bonds.


Angle Generation

Angles such as O–Si–O and Si–O–Si are constructed from the bond information by identifying shared atoms:

Bonds
  ↓
Find shared atoms
  ↓
Angles

For example, an O → Si → O sequence produces an O–Si–O angle.


Bond Parameters

Topology bonds require an equilibrium distance and a force constant, commonly denoted r0 and kb. The library reads these values from bond_parameters in JSON and writes them to the Topology file.


Angle Parameters

Similarly, angles require an equilibrium angle θ0 and force constant kθ. A representative tetrahedral O–Si–O angle in SiO₂ is 109.47°.


Atomic Information

The [ atoms ] section includes information such as atom type, charge, and mass. These values are also obtained from JSON configuration. The current implementation assumes SiO₂-oriented settings.


Unit Topology

write_unit_topology() generates a Topology for each local unit, such as an SiO₄ tetrahedron. Bonds and angles are retained within each unit, but no bonds are introduced between units.

This makes it possible to preserve local structures while leaving degrees of freedom for rearrangement of the overall network.


Network Topology

write_network_topology() outputs the entire analyzed network as one Topology. A connected Si–O–Si–O–Si network is then represented using bonded potentials across the network.

This is useful when RMC refinement must preserve network connectivity. However, the constraints may be too strong if only local structural units need to be preserved.


Unit Topology vs. Network Topology

Property

Unit Topology

Network Topology

Constrained region

Local structure

Entire network

Bonds

Within each unit only

Across the entire network

Angles

Within each unit only

Across the entire network

Degrees of freedom

Higher

Lower

Network rearrangement

Possible

Less likely

The appropriate choice depends on the objective of the RMC calculation.


Relationship to the SiO₂ Implementation

The current implementation assumes a Si → O → Si network. Bond, angle, and unit construction are therefore oriented toward SiO₂. For example, nearest = 4 and O–Si–O angles assume SiO₄ tetrahedra.

Although the Topology writer itself is general-purpose, the current network builder implements algorithms oriented toward SiO₂.


Role of RmcConstraintWriter

The writer converts bond, angle, and atomic information produced by QnNetworkAnalysis into RMC_POT Topology input:

Analysis
   ↓
Abstract network
   ↓
Topology

Because the responsibilities are separated, Topology format changes or extensions to RMC_POT can be accommodated without modifying the network-analysis algorithm.

The next chapter explains the JSON configuration and its relationship to each class, followed by the current SiO₂ implementation and possible extensions to other materials.