torch_sim.models.fairchem.FairChemModel.forward() converts tensors to numpy without detaching first. during structure relaxation these tensors can require grad, so .cpu().numpy() raises:
RuntimeError: can't call numpy() on Tensor that requires grad
fix in torch_sim/models/fairchem.py: use .detach().cpu().numpy() for: positions, atomic_numbers, pbc, row_vector_cell
tests/models/test_fairchem.py calls model(state) directly, but does not run ts.optimize(...) / lbfgs. the failure only appears in relax/optimizer flow where state.positions can require grad.