MultiSoftSpherePairFn

class torch_sim.models.soft_sphere.MultiSoftSpherePairFn(atomic_numbers, sigma_matrix, epsilon_matrix, alpha_matrix=None)[source]

Bases: Module

Species-dependent soft-sphere pair energy function.

Holds per-species-pair parameter matrices and looks up sigma, epsilon, and alpha for each interacting pair via their atomic numbers. Pass an instance to PairPotentialModel.

Example:

fn = MultiSoftSpherePairFn(
    atomic_numbers=torch.tensor([18, 36]),  # Ar and Kr
    sigma_matrix=torch.tensor([[3.4, 3.6], [3.6, 3.7]]),
    epsilon_matrix=torch.tensor([[0.01, 0.012], [0.012, 0.014]]),
)
model = PairPotentialModel(pair_fn=fn, cutoff=float(fn.sigma_matrix.max()))
Parameters:
forward(dr, zi, zj)[source]

Compute per-pair soft-sphere energies using species lookup.

Parameters:
  • dr (Tensor) – Pairwise distances, shape [n_pairs].

  • zi (Tensor) – Atomic numbers of first atoms, shape [n_pairs].

  • zj (Tensor) – Atomic numbers of second atoms, shape [n_pairs].

Returns:

Pair energies, shape [n_pairs].

Return type:

Tensor