LCOV - code coverage report
Current view: top level - tests - test_system_atom.cpp (source / functions) Hit Total Coverage
Test: coverage.info Lines: 21 21 100.0 %
Date: 2025-04-29 15:56:08 Functions: 1 1 100.0 %

          Line data    Source code
       1             : // SPDX-FileCopyrightText: 2024 Pairinteraction Developers
       2             : // SPDX-License-Identifier: LGPL-3.0-or-later
       3             : 
       4             : #include "pairinteraction/pairinteraction.hpp"
       5             : #include "pairinteraction/utils/args.hpp"
       6             : 
       7             : #include <filesystem>
       8             : #include <spdlog/spdlog.h>
       9             : 
      10           1 : int main(int argc, char **argv) {
      11             :     // Call the setup function to configure logging
      12           1 :     pairinteraction::setup();
      13             : 
      14             :     // Create a database instance
      15           1 :     std::filesystem::path database_dir;
      16           1 :     bool download_missing = false;
      17             : 
      18           4 :     for (int i = 1; i < argc; ++i) {
      19           3 :         bool found = pairinteraction::args::parse_download_missing(i, argc, argv, download_missing);
      20           3 :         if (!found) {
      21           3 :             pairinteraction::args::parse_database_dir(i, argc, argv, database_dir);
      22             :         }
      23             :     }
      24             : 
      25           1 :     pairinteraction::Database database(download_missing, true, database_dir);
      26             : 
      27             :     // Create a basis
      28           1 :     auto basis = pairinteraction::BasisAtomCreator<double>()
      29           2 :                      .set_species("Rb")
      30           1 :                      .restrict_quantum_number_n(58, 62)
      31           1 :                      .restrict_quantum_number_l(0, 3)
      32           1 :                      .create(database);
      33             : 
      34           2 :     SPDLOG_INFO("Number of basis states: {}", basis->get_number_of_states());
      35             : 
      36             :     // Create a system
      37           1 :     auto system = pairinteraction::SystemAtom<double>(basis);
      38           1 :     system.set_electric_field({0, 0, 1});
      39           1 :     system.set_magnetic_field({0, 0, 1});
      40           1 :     system.set_diamagnetism_enabled(true);
      41             : 
      42           1 :     return 0;
      43           1 : }

Generated by: LCOV version 1.16