I have developed a test for the many body functionality of iDEA. The test simulates a two electron ground state (k=0) system with either 'uu' or 'dd' spin configuration in an external harmonic oscillator potential with a softened interaction potential (Hooke's atom).
The test is split into two systems, the analytical test system and the iDEA test system. The program runs both systems and then tests the probability density, wavefunction and total energy against the known analytical solution to determine if they are within a user specified tolerance.
The test makes use of the pytest library. The test file, test_manybody.py, contains two test classes: TestShort and TestLong.
TestShort is designated to be ran upon push or pull requests via GitHub actions, however, it may also be initiated manually. I have hence added a .github/workflows folder to the repository containing .yml files allowing the tests to be automated. TestLong is a much more finely tuned test designed to be ran manually via the 'Actions' tab if a higher level of precision is required.
I have developed a test for the many body functionality of iDEA. The test simulates a two electron ground state (k=0) system with either 'uu' or 'dd' spin configuration in an external harmonic oscillator potential with a softened interaction potential (Hooke's atom).
The test is split into two systems, the analytical test system and the iDEA test system. The program runs both systems and then tests the probability density, wavefunction and total energy against the known analytical solution to determine if they are within a user specified tolerance.
The test makes use of the pytest library. The test file, test_manybody.py, contains two test classes: TestShort and TestLong. TestShort is designated to be ran upon push or pull requests via GitHub actions, however, it may also be initiated manually. I have hence added a .github/workflows folder to the repository containing .yml files allowing the tests to be automated. TestLong is a much more finely tuned test designed to be ran manually via the 'Actions' tab if a higher level of precision is required.