We present an open-source Python framework for solving the Lippmann-Schwinger integral equation for two-body (2B) bound states in two-dimensional (2D) momentum space, with a primary focus on excitonic systems. Implemented in Python using standard scientific libraries, the package provides modular numerical solvers that discretize the integral equation on flexible momentum meshes, support a variety of interaction kernels (including Coulomb, Malfliet-Tjon, and Rytova-Keldysh potentials), and compute binding energies and wave functions with controlled accuracy. Verification and benchmarking are carried out for the 2D hydrogenic atom and the 2D deuteron: we quantify convergence under mesh refinement, assess numerical stability, and cross-check results using Hamiltonian expectation values and known analytical energies for the 2D hydrogenic problem. We then demonstrate applicability to excitons in monolayer transition metal dichalcogenides (TMDs), illustrating how material parameters, screening models, and effective masses affect the bound-state spectrum. The solvers are provided through a reproducible, browser-based Jupyter interface for rapid prototyping, parameter exploration, and transparent inspection of intermediate quantities, while the underlying Python modules can also be used independently as a general tool for two-body quantum problems in 2D. This combination of validated algorithms, open implementation, and interactive front end (https: //csu-physics. github. io/2B₂D/) provides a reusable platform for research calculations and, secondarily, advanced undergraduate and graduate instruction in computational quantum mechanics. Program Summary Program Title: 2B-2D: A browser-based platform for solving two-body bound states in two dimensions Developer’s repository link: https: //csu-physics. github. io/2B₂D/ Licensing provisions: MIT Programming language: Python (JupyterLite / Pyodide runtime in the browser) Nature of problem: Compute bound-state energies and wave functions for two-body quantum systems in two dimensions by solving the momentum-space integral form of the Schrödinger equation for user-defined interaction potentials. Solution method: The momentum-space Lippmann–Schwinger integral equation is discretized with Gauss–Legendre quadrature and a hyperbolic mapping from a finite interval to the semi-infinite momentum domain, yielding an energy-dependent matrix eigenvalue problem. Bound-state energies are found by searching for energies at which the relevant eigenvalue equals unity. Additional comments: The platform is designed to run without local installation via JupyterLite in a web browser, and can also be used modularly as Python code. Running time: Typically seconds to minutes per bound-state computation in a modern desktop browser; depends on grid sizes and the selected model/potential. Reference to user manual: Section 5 (User Guide) and Appendix B (Website Development and Technical Details).
Adderley et al. (Fri,) studied this question.