feat(libconfig): new version of libconfig

This commit is contained in:
2025-12-06 11:41:57 -05:00
parent 7242c765f3
commit b6f452e74c
18 changed files with 118 additions and 21 deletions

View File

@@ -0,0 +1,35 @@
#pragma once
#include "fourdst/config/config.h"
namespace gridfire::config {
struct CVODESolverConfig {
double absTol = 1.0e-8;
double relTol = 1.0e-5;
};
struct SolverConfig {
CVODESolverConfig cvode;
};
struct AdaptiveEngineViewConfig {
double relativeCullingThreshold = 1.0e-75;
};
struct EngineViewConfig {
AdaptiveEngineViewConfig adaptiveEngineView;
};
struct EngineConfig {
EngineViewConfig views;
};
struct GridFireConfig {
SolverConfig solver;
EngineConfig engine;
};
}

View File

@@ -12,6 +12,7 @@
#include "gridfire/screening/screening_types.h"
#include "gridfire/partition/partition_abstract.h"
#include "gridfire/engine/procedures/construction.h"
#include "gridfire/config/config.h"
#include <string>
#include <unordered_map>
@@ -855,7 +856,7 @@ namespace gridfire::engine {
const GraphEngine& m_engine;
};
private:
Config& m_config = Config::getInstance();
Config<config::GridFireConfig> m_config;
quill::Logger* m_logger = LogManager::getInstance().getLogger("log");
constants m_constants;

View File

@@ -4,6 +4,7 @@
#include "gridfire/screening/screening_abstract.h"
#include "gridfire/screening/screening_types.h"
#include "gridfire/types/types.h"
#include "gridfire/config/config.h"
#include "fourdst/atomic/atomicSpecies.h"
#include "fourdst/config/config.h"
@@ -386,10 +387,10 @@ namespace gridfire::engine {
*/
[[nodiscard]] SpeciesStatus getSpeciesStatus(const fourdst::atomic::Species &species) const override;
private:
using Config = fourdst::config::Config;
using LogManager = fourdst::logging::LogManager;
/** @brief A reference to the singleton Config instance, used for retrieving configuration parameters. */
Config& m_config = Config::getInstance();
fourdst::config::Config<config::GridFireConfig> m_config;
/** @brief A pointer to the logger instance, used for logging messages. */
quill::Logger* m_logger = LogManager::getInstance().getLogger("log");

View File

@@ -6,6 +6,8 @@
#include "gridfire/io/network_file.h"
#include "gridfire/types/types.h"
#include "gridfire/config/config.h"
#include "fourdst/config/config.h"
#include "fourdst/logging/logging.h"
@@ -365,9 +367,9 @@ namespace gridfire::engine {
[[nodiscard]] std::string getNetworkFile() const { return m_fileName; }
[[nodiscard]] const io::NetworkFileParser& getParser() const { return m_parser; }
private:
using Config = fourdst::config::Config;
using LogManager = fourdst::logging::LogManager;
Config& m_config = Config::getInstance();
using LogManager = LogManager;
Config<config::GridFireConfig> m_config;
quill::Logger* m_logger = LogManager::getInstance().getLogger("log");
std::string m_fileName;
///< Parser for the network file.

View File

@@ -2,6 +2,7 @@
#include "fourdst/config/config.h"
#include "fourdst/logging/logging.h"
#include "gridfire/config/config.h"
#include "quill/Logger.h"
@@ -101,9 +102,8 @@ namespace gridfire::io {
*/
[[nodiscard]] ParsedNetworkData parse(const std::string& filename) const override;
private:
using Config = fourdst::config::Config;
using LogManager = fourdst::logging::LogManager;
Config& m_config = Config::getInstance();
fourdst::config::Config<config::GridFireConfig> m_config;
quill::Logger* m_logger = LogManager::getInstance().getLogger("log");
};
@@ -141,9 +141,8 @@ namespace gridfire::io {
*/
[[nodiscard]] ParsedNetworkData parse(const std::string& filename) const override;
private:
using Config = fourdst::config::Config;
using LogManager = fourdst::logging::LogManager;
Config& m_config = Config::getInstance();
fourdst::config::Config<config::GridFireConfig> m_config;
quill::Logger* m_logger = LogManager::getInstance().getLogger("log");
std::string m_filename;

View File

@@ -4,6 +4,7 @@
#include "gridfire/engine/engine_abstract.h"
#include "gridfire/types/types.h"
#include "gridfire/exceptions/exceptions.h"
#include "gridfire/config/config.h"
#include "fourdst/atomic/atomicSpecies.h"
#include "fourdst/config/config.h"
@@ -243,7 +244,7 @@ namespace gridfire::solver {
};
private:
fourdst::config::Config& m_config = fourdst::config::Config::getInstance();
fourdst::config::Config<config::GridFireConfig> m_config;
quill::Logger* m_logger = fourdst::logging::LogManager::getInstance().getLogger("log");
/**
* @brief CVODE RHS C-wrapper that delegates to calculate_rhs and captures exceptions.