ALIGNN#
- class nfflr.models.ALIGNN(config: ALIGNNConfig = ALIGNNConfig(transform=PeriodicRadiusGraph(), cutoff=XPLOR(), alignn_layers=4, gcn_layers=4, norm='batchnorm', atom_features='cgcnn', edge_input_features=80, triplet_input_features=40, embedding_features=64, hidden_features=256, output_features=1, compute_forces=False, energy_units='eV/atom', reference_energies=None))[source]#
Atomistic Line graph network.
Chain alternating gated graph convolution updates on crystal graph and atomistic line graph.
Methods
forward
(x)- forward(self, x: nfflr.atoms.Atoms)[source]#
reset_atomic_reference_energies
- forward(x)[source]#
- forward(self, x: nfflr.atoms.Atoms)[source]
- forward(self, g: Tuple[dgl.heterograph.DGLGraph, dgl.heterograph.DGLGraph] | dgl.heterograph.DGLGraph)[source]
ALIGNN : start with atom_features.
x: atom features (g.ndata) y: bond features (g.edata and lg.ndata) z: angle features (lg.edata)
- class nfflr.models.ALIGNNConfig(transform: Callable = PeriodicRadiusGraph(), cutoff: Module = XPLOR(), alignn_layers: int = 4, gcn_layers: int = 4, norm: Literal['batchnorm', 'layernorm'] = 'batchnorm', atom_features: str = 'cgcnn', edge_input_features: int = 80, triplet_input_features: int = 40, embedding_features: int = 64, hidden_features: int = 256, output_features: int = 1, compute_forces: bool = False, energy_units: Literal['eV', 'eV/atom'] = 'eV/atom', reference_energies: Literal['fixed', 'trainable'] | None = None)[source]#
Hyperparameter schema for nfflr.models.gnn.alignn.
- Attributes:
- reference_energies
Methods
cutoff
transform