{"library":"nequip","title":"NequIP","description":"NequIP is an open-source Python library for building E(3)-equivariant interatomic potentials, primarily used in molecular dynamics and materials science simulations. It leverages PyTorch and e3nn for deep learning models that respect physical symmetries, enabling accurate and robust simulations. The current stable version is 0.17.1, with releases typically tied to significant feature additions or dependency updates.","language":"python","status":"active","last_verified":"Fri Apr 17","install":{"commands":["pip install nequip"],"cli":null},"imports":["from nequip.model import NequIP","from nequip.utils import Config","from nequip.scripts.train import main as train_main"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import torch\nfrom nequip.utils import Config\nfrom nequip.model import NequIP\n\n# Example minimal configuration for a NequIP model\n# In real applications, this would typically be loaded from a YAML file.\nconfig_dict = {\n    'r_max': 5.0,\n    'max_ell': 1,\n    'num_layers': 3,\n    'chemical_species_set': ['H', 'O'], # Example species\n    'num_species': 2,\n    'l_max_hidden': 1,\n    'nonlinearity_type': 'silu',\n    'resnet': True,\n    'env_embed_multi_head': True,\n    'mlp_output_irreps': '64x0e+64x1o+64x1e',\n    'weight_init': 'xavier_uniform',\n    'irreps_out_per_structure': '1x0e',\n    'cutoff_type': 'polynomial', \n    'activation': 'silu'\n}\n\n# Create a Config object\nconfig = Config(config_dict)\n\n# Initialize the NequIP model\n# This model is a placeholder; it would need to be trained or loaded from a checkpoint.\nmodel = NequIP(config)\n\nprint(f\"NequIP model initialized with {sum(p.numel() for p in model.parameters())} parameters.\")\n# Example of model structure for a single atom\n# x = torch.zeros(1, 3)\n# z = torch.tensor([1]) # Atomic number for H\n# model(x, z) # Requires a full batch of positions and atomic numbers\n","lang":"python","description":"Initializes a basic NequIP model from a configuration dictionary. In practice, configurations are often loaded from YAML files and models are either trained or loaded from pre-existing checkpoints. This example demonstrates the fundamental model instantiation.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}