diff --git a/benchmark/common/problems.h b/benchmark/common/problems.h index c97c50eb03..7a7d41c169 100644 --- a/benchmark/common/problems.h +++ b/benchmark/common/problems.h @@ -4,7 +4,6 @@ #pragma once #include "classes/box.h" -#include "classes/coreData.h" #include "expression/variable.h" #include "main/dissolve.h" #include "nodes/configuration.h" diff --git a/src/classes/CMakeLists.txt b/src/classes/CMakeLists.txt index 10a5ad161f..2dcf789ffb 100644 --- a/src/classes/CMakeLists.txt +++ b/src/classes/CMakeLists.txt @@ -15,7 +15,6 @@ add_library( configuration_sites.cpp configuration_upkeep.cpp configurationAtom.cpp - coreData.cpp empiricalFormula.cpp fullPairIterator.cpp histogramSet.cpp @@ -72,7 +71,6 @@ add_library( cellArray.h configuration.h configurationAtom.cpp - coreData.h empiricalFormula.h fragment.h histogramSet.h diff --git a/src/classes/configuration_upkeep.cpp b/src/classes/configuration_upkeep.cpp index d20f4332c6..c49fdbf33d 100644 --- a/src/classes/configuration_upkeep.cpp +++ b/src/classes/configuration_upkeep.cpp @@ -3,6 +3,7 @@ #include "classes/box.h" #include "classes/cell.h" +#include "classes/configuration.h" #include "classes/configurationAtom.h" #include "main/dissolve.h" diff --git a/src/classes/coreData.cpp b/src/classes/coreData.cpp deleted file mode 100644 index e6a239fe05..0000000000 --- a/src/classes/coreData.cpp +++ /dev/null @@ -1,130 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// Copyright (c) 2026 Team Dissolve and contributors - -#include "classes/coreData.h" -#include "base/sysFunc.h" -#include "classes/atomType.h" -#include "classes/configuration.h" -#include "classes/species.h" -#include "classes/speciesAngle.h" -#include "classes/speciesBond.h" -#include "classes/speciesTorsion.h" -#include "main/dissolve.h" - -// Clear all data -void CoreData::clear() -{ - configurations_.clear(); - species_.clear(); -} - -/* - * Species - */ - -// Add new Species -Species *CoreData::addSpecies() -{ - auto &newSpecies = species_.emplace_back(std::make_unique()); - - // Create a suitable unique name - newSpecies->setName( - DissolveSys::uniqueName("NewSpecies", species_, [&](const auto &sp) { return newSpecies == sp ? "" : sp->name(); })); - - return newSpecies.get(); -} - -// Remove specified Species -void CoreData::removeSpecies(Species *sp) -{ - species_.erase(std::remove_if(species_.begin(), species_.end(), [&](const auto &p) { return sp == p.get(); }), - species_.end()); -} - -// Return number of Species in list -int CoreData::nSpecies() const { return species_.size(); } - -// Return core Species list -std::vector> &CoreData::species() { return species_; } - -const std::vector> &CoreData::species() const { return species_; } - -// Search for Species by name -Species *CoreData::findSpecies(std::string_view name) const -{ - auto it = std::find_if(species_.begin(), species_.end(), - [name](const auto &sp) { return DissolveSys::sameString(sp->name(), name); }); - if (it != species_.end()) - { - return (*it).get(); - } - else - { - return nullptr; - } -} - -/* - * Configuration - */ - -// Add new Configuration -Configuration *CoreData::addConfiguration() -{ - auto &newConfiguration = configurations_.emplace_back(std::make_unique()); - - // Create a suitable unique name - newConfiguration->setName(DissolveSys::uniqueName("NewConfiguration", configurations_, [&](const auto &cfg) - { return newConfiguration == cfg ? "" : cfg->name(); })); - - return newConfiguration.get(); -} - -// Remove specified Configuration -void CoreData::removeConfiguration(Configuration *cfg) -{ - configurations_.erase( - std::remove_if(configurations_.begin(), configurations_.end(), [cfg](const auto &c) { return cfg == c.get(); }), - configurations_.end()); -} - -// Return number of Configurations in list -int CoreData::nConfigurations() const { return configurations_.size(); } - -// Return core Configurations list -std::vector> &CoreData::configurations() { return configurations_; } - -const std::vector> &CoreData::configurations() const { return configurations_; } - -// Return nth Configuration in list -Configuration *CoreData::configuration(int n) { return configurations_[n].get(); } - -// Search for Configuration by name -Configuration *CoreData::findConfiguration(std::string_view name) const -{ - auto it = std::find_if(configurations_.begin(), configurations_.end(), - [&name](const auto &cfg) { return DissolveSys::sameString(cfg->name(), name); }); - if (it == configurations_.end()) - return nullptr; - return it->get(); -} - -// Find configuration by 'nice' name -Configuration *CoreData::findConfigurationByNiceName(std::string_view name) const -{ - auto it = std::find_if(configurations().begin(), configurations().end(), - [&name](const auto &cfg) { return DissolveSys::sameString(name, cfg->name()); }); - if (it == configurations().end()) - return nullptr; - return it->get(); -} - -/* - * Input Filename - */ - -// Set pointer to the current input filename -void CoreData::setInputFilename(std::string_view filename) { inputFilename_ = filename; } - -// Return the current input filename -std::string_view CoreData::inputFilename() const { return inputFilename_; } diff --git a/src/classes/coreData.h b/src/classes/coreData.h deleted file mode 100644 index 16896cc40f..0000000000 --- a/src/classes/coreData.h +++ /dev/null @@ -1,87 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// Copyright (c) 2026 Team Dissolve and contributors - -#pragma once - -#include "base/version.h" -#include "classes/configuration.h" -#include "classes/pairPotentialOverride.h" -#include "classes/species.h" -#include "data/elements.h" -#include "templates/optionalRef.h" -#include -#include -#include -#include - -// Forward Declarations -class Dissolve; -class Module; -class ModuleLayer; - -// Core Data Container -class CoreData -{ - public: - CoreData() = default; - ~CoreData() = default; - // Clear all data - void clear(); - - /* - * Species - */ - private: - // Core Species list - std::vector> species_; - - public: - // Add new Species - Species *addSpecies(); - // Remove specified Species - void removeSpecies(Species *sp); - // Return number of Species in list - int nSpecies() const; - // Return core Species list - std::vector> &species(); - const std::vector> &species() const; - // Search for Species by name - Species *findSpecies(std::string_view name) const; - - /* - * Configurations - */ - private: - // Core Configurations list - std::vector> configurations_; - - public: - // Add new Configuration - Configuration *addConfiguration(); - // Remove specified Configuration - void removeConfiguration(Configuration *cfg); - // Return number of Configuration in list - int nConfigurations() const; - // Return core Configuration list - std::vector> &configurations(); - const std::vector> &configurations() const; - // Return nth Configuration in list - Configuration *configuration(int n); - // Search for Configuration by name - Configuration *findConfiguration(std::string_view name) const; - // Find configuration by 'nice' name - Configuration *findConfigurationByNiceName(std::string_view name) const; - - /* - * Input Filename - */ - private: - // Current input filename (mirroring that in Dissolve) - std::string inputFilename_; - - public: - // Set current input filename - void setInputFilename(std::string_view filename); - // Return the current input filename - std::string_view inputFilename() const; -}; diff --git a/src/classes/isotopologue.cpp b/src/classes/isotopologue.cpp index 59214fe5e2..f3eb152ff4 100644 --- a/src/classes/isotopologue.cpp +++ b/src/classes/isotopologue.cpp @@ -3,7 +3,6 @@ #include "classes/isotopologue.h" #include "classes/atomType.h" -#include "classes/coreData.h" #include "classes/species.h" #include "data/isotopes.h" diff --git a/src/classes/isotopologueSet.cpp b/src/classes/isotopologueSet.cpp index 89e20ed7b8..aab8e6c04e 100644 --- a/src/classes/isotopologueSet.cpp +++ b/src/classes/isotopologueSet.cpp @@ -3,7 +3,6 @@ #include "classes/isotopologueSet.h" #include "base/lineParser.h" -#include "classes/coreData.h" #include "classes/species.h" #include diff --git a/src/classes/isotopologueSet.h b/src/classes/isotopologueSet.h index 8f29de028f..f79cb4db58 100644 --- a/src/classes/isotopologueSet.h +++ b/src/classes/isotopologueSet.h @@ -4,7 +4,6 @@ #pragma once #include "base/serialiser.h" -#include "classes/coreData.h" // Forward Declarations class Species; diff --git a/src/classes/speciesAngle.cpp b/src/classes/speciesAngle.cpp index ce2658f45e..1f8350ed11 100644 --- a/src/classes/speciesAngle.cpp +++ b/src/classes/speciesAngle.cpp @@ -2,10 +2,9 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "classes/speciesAngle.h" -#include "classes/coreData.h" +#include "classes/species.h" #include "classes/speciesAtom.h" #include "math/mathFunc.h" -#include SpeciesAngle::SpeciesAngle() : SpeciesIntra(nullptr, AngleFunctions::Form::None) {} diff --git a/src/classes/speciesAtom.cpp b/src/classes/speciesAtom.cpp index 7b0d3a2787..516b1341ac 100644 --- a/src/classes/speciesAtom.cpp +++ b/src/classes/speciesAtom.cpp @@ -4,7 +4,6 @@ #include "classes/speciesAtom.h" #include "classes/atomType.h" #include "classes/box.h" -#include "classes/coreData.h" #include "classes/species.h" #include "classes/speciesBond.h" #include diff --git a/src/classes/speciesBond.cpp b/src/classes/speciesBond.cpp index be8fd8d3af..94aae5fe58 100644 --- a/src/classes/speciesBond.cpp +++ b/src/classes/speciesBond.cpp @@ -2,11 +2,9 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "classes/speciesBond.h" -#include "base/sysFunc.h" -#include "classes/coreData.h" +#include "classes/species.h" #include "classes/speciesAtom.h" #include "data/atomicMasses.h" -#include SpeciesBond::SpeciesBond() : SpeciesIntra(nullptr, BondFunctions::Form::None) {} diff --git a/src/classes/speciesImproper.cpp b/src/classes/speciesImproper.cpp index 9a62b708f0..181b898f75 100644 --- a/src/classes/speciesImproper.cpp +++ b/src/classes/speciesImproper.cpp @@ -2,7 +2,7 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "classes/speciesImproper.h" -#include "classes/coreData.h" +#include "classes/species.h" #include "classes/speciesAtom.h" #include "classes/speciesTorsion.h" diff --git a/src/classes/speciesSite.cpp b/src/classes/speciesSite.cpp index 262d1590bd..11fe56feb3 100644 --- a/src/classes/speciesSite.cpp +++ b/src/classes/speciesSite.cpp @@ -3,7 +3,6 @@ #include "classes/speciesSite.h" #include "base/lineParser.h" -#include "classes/coreData.h" #include "classes/site.h" #include "classes/species.h" #include "data/atomicMasses.h" diff --git a/src/classes/speciesTorsion.cpp b/src/classes/speciesTorsion.cpp index cd75417d5d..ff35c37cb8 100644 --- a/src/classes/speciesTorsion.cpp +++ b/src/classes/speciesTorsion.cpp @@ -2,10 +2,9 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "classes/speciesTorsion.h" -#include "classes/coreData.h" +#include "classes/species.h" #include "classes/speciesAtom.h" #include "math/mathFunc.h" -#include SpeciesTorsion::SpeciesTorsion() : SpeciesIntra(nullptr, TorsionFunctions::Form::None) {} diff --git a/src/classes/species_intra.cpp b/src/classes/species_intra.cpp index 525171ac21..629684ee0d 100644 --- a/src/classes/species_intra.cpp +++ b/src/classes/species_intra.cpp @@ -4,7 +4,6 @@ #include "base/sysFunc.h" #include "classes/atomType.h" #include "classes/box.h" -#include "classes/coreData.h" #include "classes/species.h" #include "templates/algorithms.h" #include diff --git a/src/classes/torsionFunctions.cpp b/src/classes/torsionFunctions.cpp index 0bbb3eb253..ca9d920518 100644 --- a/src/classes/torsionFunctions.cpp +++ b/src/classes/torsionFunctions.cpp @@ -1,7 +1,6 @@ // SPDX-License-Identifier: GPL-3.0-or-later // Copyright (c) 2026 Team Dissolve and contributors -#include "classes/coreData.h" #include "classes/speciesAtom.h" #include "classes/speciesTorsion.h" #include diff --git a/src/data/ff/camelloneBKS/camelloneBKS.cpp b/src/data/ff/camelloneBKS/camelloneBKS.cpp index 7c0d466406..fb7f535594 100644 --- a/src/data/ff/camelloneBKS/camelloneBKS.cpp +++ b/src/data/ff/camelloneBKS/camelloneBKS.cpp @@ -4,7 +4,6 @@ #include "data/ff/camelloneBKS/camelloneBKS.h" #include "base/sysFunc.h" #include "classes/atomType.h" -#include "classes/coreData.h" #include "classes/speciesAtom.h" #include "data/ff/angleTerm.h" #include "data/ff/atomType.h" diff --git a/src/data/ff/ff.cpp b/src/data/ff/ff.cpp index 742d3062f4..3bb17c4ad0 100644 --- a/src/data/ff/ff.cpp +++ b/src/data/ff/ff.cpp @@ -4,7 +4,6 @@ #include "data/ff/ff.h" #include "classes/atomType.h" #include "classes/box.h" -#include "classes/coreData.h" #include "classes/species.h" #include "classes/speciesAtom.h" #include "classes/speciesBond.h" diff --git a/src/data/ff/uff/uff.cpp b/src/data/ff/uff/uff.cpp index dcdea98a99..b584480ecd 100644 --- a/src/data/ff/uff/uff.cpp +++ b/src/data/ff/uff/uff.cpp @@ -3,7 +3,6 @@ #include "data/ff/uff/uff.h" #include "classes/atomType.h" -#include "classes/coreData.h" #include "classes/species.h" #include "data/elements.h" #include "math/mathFunc.h" diff --git a/src/data/ff/uff/uff4MOF.cpp b/src/data/ff/uff/uff4MOF.cpp index e25c748f1b..1bf17be3d7 100644 --- a/src/data/ff/uff/uff4MOF.cpp +++ b/src/data/ff/uff/uff4MOF.cpp @@ -3,7 +3,6 @@ #include "data/ff/uff/uff4MOF.h" #include "classes/atomType.h" -#include "classes/coreData.h" #include "classes/species.h" #include "data/elements.h" diff --git a/src/dissolve-gui-qml.cpp b/src/dissolve-gui-qml.cpp index 063fd5aabb..5682774b85 100644 --- a/src/dissolve-gui-qml.cpp +++ b/src/dissolve-gui-qml.cpp @@ -17,8 +17,7 @@ int main(int args, char **argv) { // Instantiate main classes - CoreData coreData; - Dissolve dissolve(coreData); + Dissolve dissolve; DissolveModel dissolveModel; dissolveModel.setDissolve(dissolve); diff --git a/src/gui/configurationViewerWidget.cpp b/src/gui/configurationViewerWidget.cpp index efd3209c53..591857312f 100644 --- a/src/gui/configurationViewerWidget.cpp +++ b/src/gui/configurationViewerWidget.cpp @@ -3,7 +3,6 @@ #include "gui/configurationViewerWidget.h" #include "classes/configuration.h" -#include "classes/coreData.h" #include "classes/empiricalFormula.h" #include "gui/widgets/elementSelector.h" #include "main/dissolve.h" diff --git a/src/gui/getConfigurationNameDialog.cpp b/src/gui/getConfigurationNameDialog.cpp index 0fa9c7ae47..5df7bb16e5 100644 --- a/src/gui/getConfigurationNameDialog.cpp +++ b/src/gui/getConfigurationNameDialog.cpp @@ -4,7 +4,6 @@ #include "gui/getConfigurationNameDialog.h" #include "base/sysFunc.h" #include "classes/configuration.h" -#include "classes/coreData.h" GetConfigurationNameDialog::GetConfigurationNameDialog(QWidget *parent, const CoreData &coreData) : coreData_(coreData) { diff --git a/src/gui/getModuleLayerNameDialog.cpp b/src/gui/getModuleLayerNameDialog.cpp index 33489dfd4e..4e646d9136 100644 --- a/src/gui/getModuleLayerNameDialog.cpp +++ b/src/gui/getModuleLayerNameDialog.cpp @@ -3,7 +3,6 @@ #include "gui/getModuleLayerNameDialog.h" #include "base/sysFunc.h" -#include "classes/coreData.h" #include "module/layer.h" GetModuleLayerNameDialog::GetModuleLayerNameDialog(QWidget *parent, const std::vector> &layers) diff --git a/src/gui/getSpeciesNameDialog.cpp b/src/gui/getSpeciesNameDialog.cpp index ace6d31ca7..5a86d145be 100644 --- a/src/gui/getSpeciesNameDialog.cpp +++ b/src/gui/getSpeciesNameDialog.cpp @@ -3,7 +3,6 @@ #include "gui/getSpeciesNameDialog.h" #include "base/sysFunc.h" -#include "classes/coreData.h" #include "classes/species.h" GetSpeciesNameDialog::GetSpeciesNameDialog(QWidget *parent, const CoreData &coreData) : coreData_(coreData) diff --git a/src/gui/models/addSpeciesInfoModel.cpp b/src/gui/models/addSpeciesInfoModel.cpp index 770d4c851d..0f557365bf 100644 --- a/src/gui/models/addSpeciesInfoModel.cpp +++ b/src/gui/models/addSpeciesInfoModel.cpp @@ -4,7 +4,7 @@ #include "gui/models/addSpeciesInfoModel.h" #include "base/sysFunc.h" #include "classes/atomType.h" -#include "classes/coreData.h" +#include "classes/species.h" /* * AddSpeciesInfo diff --git a/src/gui/models/atomTypeModel.cpp b/src/gui/models/atomTypeModel.cpp index 28cbec7089..0732d1f211 100644 --- a/src/gui/models/atomTypeModel.cpp +++ b/src/gui/models/atomTypeModel.cpp @@ -4,7 +4,6 @@ #include "gui/models/atomTypeModel.h" #include "base/sysFunc.h" #include "classes/atomType.h" -#include "classes/coreData.h" #include "templates/algorithms.h" void AtomTypeModel::reset() diff --git a/src/gui/models/commonAngleModel.cpp b/src/gui/models/commonAngleModel.cpp index 1ea7366799..6e98e6e4e8 100644 --- a/src/gui/models/commonAngleModel.cpp +++ b/src/gui/models/commonAngleModel.cpp @@ -2,6 +2,7 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "gui/models/commonAngleModel.h" +#include "classes/species.h" CommonAngleModel::CommonAngleModel(Species *species) : CommonTermModel(species), sourceData_(species->commonAngles()) { diff --git a/src/gui/models/commonBondModel.cpp b/src/gui/models/commonBondModel.cpp index b5621987d2..0962c75af2 100644 --- a/src/gui/models/commonBondModel.cpp +++ b/src/gui/models/commonBondModel.cpp @@ -2,6 +2,7 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "gui/models/commonBondModel.h" +#include "classes/species.h" CommonBondModel::CommonBondModel(Species *species) : CommonTermModel(species), sourceData_(species->commonBonds()) { diff --git a/src/gui/models/commonImproperModel.cpp b/src/gui/models/commonImproperModel.cpp index 72e86ad847..a585cf6a45 100644 --- a/src/gui/models/commonImproperModel.cpp +++ b/src/gui/models/commonImproperModel.cpp @@ -2,6 +2,7 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "gui/models/commonImproperModel.h" +#include "classes/species.h" CommonImproperModel::CommonImproperModel(Species *species) : CommonTermModel(species), sourceData_(species->commonImpropers()) { diff --git a/src/gui/models/commonTermModel.cpp b/src/gui/models/commonTermModel.cpp index e044633460..cfee51f31c 100644 --- a/src/gui/models/commonTermModel.cpp +++ b/src/gui/models/commonTermModel.cpp @@ -2,6 +2,8 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "gui/models/commonTermModel.h" +#include "classes/speciesAtom.h" +#include "classes/speciesBond.h" CommonTermModel::CommonTermModel(Species *species) : species_(species) {} diff --git a/src/gui/models/commonTermModel.h b/src/gui/models/commonTermModel.h index 434883573e..a182c6f1a2 100644 --- a/src/gui/models/commonTermModel.h +++ b/src/gui/models/commonTermModel.h @@ -3,12 +3,14 @@ #pragma once -#include "classes/coreData.h" #include #include #include #include +// Forward Declarations +class Species; + namespace CommonTermModelData { // Enumerated data items for terms diff --git a/src/gui/models/commonTermTreeModel.cpp b/src/gui/models/commonTermTreeModel.cpp index 9a394aabba..9431f32670 100644 --- a/src/gui/models/commonTermTreeModel.cpp +++ b/src/gui/models/commonTermTreeModel.cpp @@ -2,6 +2,8 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "gui/models/commonTermTreeModel.h" +#include "classes/speciesAtom.h" +#include "classes/speciesBond.h" MasterTermTreeModel::MasterTermTreeModel(Species *species) : bondModel_(species), angleModel_(species), torsionModel_(species), improperModel_(species) diff --git a/src/gui/models/commonTorsionModel.cpp b/src/gui/models/commonTorsionModel.cpp index 7a2f293a90..ed22aa1015 100644 --- a/src/gui/models/commonTorsionModel.cpp +++ b/src/gui/models/commonTorsionModel.cpp @@ -2,6 +2,7 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "gui/models/commonTorsionModel.h" +#include "classes/species.h" CommonTorsionModel::CommonTorsionModel(Species *species) : CommonTermModel(species), sourceData_(species->commonTorsions()) { diff --git a/src/gui/models/dissolveModel.cpp b/src/gui/models/dissolveModel.cpp index 6bb436a7ed..4e42f05450 100644 --- a/src/gui/models/dissolveModel.cpp +++ b/src/gui/models/dissolveModel.cpp @@ -22,7 +22,6 @@ void DissolveModel::setDissolve(Dissolve &dissolve) dissolve_ = &dissolve; // commons_ = std::make_unique(dissolve_->coreData()); - configurationModel_.setData(dissolve_->coreData().configurations()); Q_EMIT modelsUpdated(); } @@ -36,7 +35,6 @@ void DissolveModel::update() commons_->torsionModel_.reset(); commons_->improperModel_.reset(); } - configurationModel_.reset(); Q_EMIT modelsUpdated(); } @@ -104,16 +102,12 @@ int DissolveModel::nCommonImpropers() return commons_->improperModel_.rowCount(); } -// The Configuration Model -ConfigurationModel *DissolveModel::configurationsModel() { return &configurationModel_; } - // Getter for filename QUrl DissolveModel::fileName() { return QUrl(dissolve_->inputFilename().data()); } void DissolveModel::loadInput(QUrl filename) { dissolve_->loadInput(filename.toLocalFile().toStdString()); - configurationModel_.reset(); Q_EMIT(modelsUpdated()); } diff --git a/src/gui/models/dissolveModel.h b/src/gui/models/dissolveModel.h index ab4ca6accd..cecf996be1 100644 --- a/src/gui/models/dissolveModel.h +++ b/src/gui/models/dissolveModel.h @@ -23,8 +23,6 @@ class DissolveModel : public QObject Q_PROPERTY(const CommonTorsionModel *commonTorsionsModel READ commonTorsionsModel NOTIFY commonsChanged) // The Master Improper Model Q_PROPERTY(const CommonImproperModel *commonImpropersModel READ commonImpropersModel NOTIFY commonsChanged) - // The Configuration Model - Q_PROPERTY(const ConfigurationModel *configurationsModel READ configurationsModel NOTIFY configurationsChanged) // File to load Q_PROPERTY(QUrl file READ fileName WRITE loadInput NOTIFY modelsUpdated) // The main graph @@ -33,7 +31,6 @@ class DissolveModel : public QObject private: // Master terms model std::unique_ptr commons_ = nullptr; - ConfigurationModel configurationModel_; public: // Getter for filename @@ -51,8 +48,6 @@ class DissolveModel : public QObject // Species model has been replaced void speciesChanged(); - // Configurations model has been replaced - void configurationsChanged(); // ModuleLayers model has been replaced void moduleLayersChanged(); @@ -80,8 +75,6 @@ class DissolveModel : public QObject const CommonImproperModel *commonImpropersModel() const; // The number of common impropers int nCommonImpropers(); - // The Configurations Model - ConfigurationModel *configurationsModel(); /* * Data diff --git a/src/gui/models/isotopologueSetModel.h b/src/gui/models/isotopologueSetModel.h index eb6a1cae94..b4306e666e 100644 --- a/src/gui/models/isotopologueSetModel.h +++ b/src/gui/models/isotopologueSetModel.h @@ -4,6 +4,7 @@ #pragma once #include "classes/isotopologueSet.h" +#include "templates/optionalRef.h" #include #include diff --git a/src/gui/models/speciesImproperModel.cpp b/src/gui/models/speciesImproperModel.cpp index 5ca6aad867..1adb18752b 100644 --- a/src/gui/models/speciesImproperModel.cpp +++ b/src/gui/models/speciesImproperModel.cpp @@ -2,7 +2,8 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "gui/models/speciesImproperModel.h" -#include "classes/coreData.h" +#include "classes/speciesAtom.h" +#include "classes/speciesBond.h" SpeciesImproperModel::SpeciesImproperModel() : impropers_(nullptr) {} diff --git a/src/gui/models/speciesTorsionModel.cpp b/src/gui/models/speciesTorsionModel.cpp index ff44594443..d3c47c1e82 100644 --- a/src/gui/models/speciesTorsionModel.cpp +++ b/src/gui/models/speciesTorsionModel.cpp @@ -2,7 +2,8 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "gui/models/speciesTorsionModel.h" -#include "classes/coreData.h" +#include "classes/speciesAtom.h" +#include "classes/speciesBond.h" SpeciesTorsionModel::SpeciesTorsionModel() : torsions_(nullptr) {} diff --git a/src/gui/models/xmlAtomModel.cpp b/src/gui/models/xmlAtomModel.cpp index f86c7983c8..c05f5b00e0 100644 --- a/src/gui/models/xmlAtomModel.cpp +++ b/src/gui/models/xmlAtomModel.cpp @@ -7,8 +7,6 @@ #include #include -XmlAtomModel::XmlAtomModel(const CoreData &coreData) : coreData_(coreData) {} - void XmlAtomModel::readFile(const pugi::xml_node &root) { beginResetModel(); diff --git a/src/gui/models/xmlAtomModel.h b/src/gui/models/xmlAtomModel.h index 42d6d1742c..c52a236e01 100644 --- a/src/gui/models/xmlAtomModel.h +++ b/src/gui/models/xmlAtomModel.h @@ -22,15 +22,12 @@ class XmlAtomModel : public QAbstractTableModel private: std::vector atoms_; - const CoreData &coreData_; public Q_SLOTS: // Read from an XML file void readFile(const pugi::xml_node &); public: - XmlAtomModel(const CoreData &coreData); - int rowCount(const QModelIndex &parent = QModelIndex()) const override; int columnCount(const QModelIndex &parent = QModelIndex()) const override; diff --git a/src/gui/models/xmlTreeModel.cpp b/src/gui/models/xmlTreeModel.cpp index 8857aed3a3..c1b4f35af6 100644 --- a/src/gui/models/xmlTreeModel.cpp +++ b/src/gui/models/xmlTreeModel.cpp @@ -7,8 +7,6 @@ XmlTreeIndex::XmlTreeIndex(int row, int column, pugi::xml_node node) : row_(row), column_(column), node_(node) {} -XmlTreeModel::XmlTreeModel(const CoreData &coreData) : QAbstractItemModel(), atoms_(coreData) {} - void XmlTreeModel::readFile(const pugi::xml_node &root) { beginResetModel(); diff --git a/src/gui/models/xmlTreeModel.h b/src/gui/models/xmlTreeModel.h index cc490447c1..ce67bb0d42 100644 --- a/src/gui/models/xmlTreeModel.h +++ b/src/gui/models/xmlTreeModel.h @@ -49,8 +49,6 @@ class XmlTreeModel : public QAbstractItemModel void readFile(const pugi::xml_node &); public: - XmlTreeModel(const CoreData &coreData); - QModelIndex parent(const QModelIndex &index) const override; QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override; diff --git a/src/gui/selectAtomTypeDialog.cpp b/src/gui/selectAtomTypeDialog.cpp index 7d0797e81c..b49f01c1ec 100644 --- a/src/gui/selectAtomTypeDialog.cpp +++ b/src/gui/selectAtomTypeDialog.cpp @@ -2,7 +2,6 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "gui/selectAtomTypeDialog.h" -#include "classes/coreData.h" #include "gui/selectAtomTypeWidget.h" SelectAtomTypeDialog::SelectAtomTypeDialog(QWidget *parent, const CoreData &coreData, QString dialogTitle) diff --git a/src/gui/selectAtomTypeWidget.cpp b/src/gui/selectAtomTypeWidget.cpp index e4bf620b80..84a65a452a 100644 --- a/src/gui/selectAtomTypeWidget.cpp +++ b/src/gui/selectAtomTypeWidget.cpp @@ -3,7 +3,6 @@ #include "gui/selectAtomTypeWidget.h" #include "classes/atomType.h" -#include "classes/coreData.h" SelectAtomTypeWidget::SelectAtomTypeWidget(QWidget *parent) : QWidget(parent) { diff --git a/src/gui/selectSpeciesDialog.cpp b/src/gui/selectSpeciesDialog.cpp index 97695ca6b8..fd95fed718 100644 --- a/src/gui/selectSpeciesDialog.cpp +++ b/src/gui/selectSpeciesDialog.cpp @@ -2,7 +2,6 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "gui/selectSpeciesDialog.h" -#include "classes/coreData.h" #include "data/ff/ff.h" #include "gui/selectSpeciesWidget.h" diff --git a/src/gui/selectSpeciesWidget.cpp b/src/gui/selectSpeciesWidget.cpp index 0a4b614cc7..f42acd1a12 100644 --- a/src/gui/selectSpeciesWidget.cpp +++ b/src/gui/selectSpeciesWidget.cpp @@ -2,7 +2,6 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "gui/selectSpeciesWidget.h" -#include "classes/coreData.h" #include "classes/species.h" SelectSpeciesWidget::SelectSpeciesWidget(QWidget *parent) : QWidget(parent) diff --git a/src/main/dissolve.cpp b/src/main/dissolve.cpp index adb594d74c..dc663719fe 100644 --- a/src/main/dissolve.cpp +++ b/src/main/dissolve.cpp @@ -5,7 +5,7 @@ #include "classes/kVector.h" #include "nodes/dissolve.h" -Dissolve::Dissolve(CoreData &coreData) : coreData_(coreData) +Dissolve::Dissolve() { // Set core simulation variables restartFileFrequency_ = 10; @@ -24,18 +24,9 @@ Dissolve::~Dissolve() { clear(); } DissolveGraph *Dissolve::graph() { return graphNode_.get(); } -// Return reference to CoreData -CoreData &Dissolve::coreData() { return coreData_; } - -const CoreData &Dissolve::coreData() const { return coreData_; } - // Clear all data void Dissolve::clear() { - // Core - Messenger::printVerbose("Clearing Core Data...\n"); - coreData_.clear(); - // PairPotentials Messenger::printVerbose("Clearing Pair Potentials...\n"); useCombinationRules_ = true; diff --git a/src/main/dissolve.h b/src/main/dissolve.h index bdcd6e3399..19285823f0 100644 --- a/src/main/dissolve.h +++ b/src/main/dissolve.h @@ -5,8 +5,6 @@ #include "base/serialiser.h" #include "base/timer.h" -#include "classes/configuration.h" -#include "classes/coreData.h" #include "classes/pairPotential.h" #include "classes/potentialMap.h" #include "math/sampledDouble.h" @@ -23,20 +21,10 @@ class Molecule; class Dissolve : public Serialisable { public: - Dissolve(CoreData &coreData); + Dissolve(); ~Dissolve(); - /* - * Core - */ - private: - // Reference to CoreData - CoreData &coreData_; - public: - // Return reference to CoreData - CoreData &coreData(); - const CoreData &coreData() const; // Clear all data void clear(); // TOML Toggle diff --git a/src/main/io.cpp b/src/main/io.cpp index 71372c5a70..264a561358 100644 --- a/src/main/io.cpp +++ b/src/main/io.cpp @@ -49,13 +49,9 @@ void Dissolve::serialise(std::string tag, SerialisedValue &target) const root["version"] = Version::semantic(); - Serialisable::fromVectorToTable<>(coreData_.species(), "species", root); - root["pairPotentials"] = serialisePairPotentials(); graphNode_->serialise("graph", root); - - Serialisable::fromVectorToTable(coreData_.configurations(), "configurations", root); } // Read pair potentials from a serialisable value @@ -100,17 +96,6 @@ void Dissolve::deserialise(const SerialisedValue &originalNode) Serialisable::optionalOn(node, "graph", [this](const auto node) { graphNode_->deserialise(node); }); Serialisable::optionalOn(node, "pairPotentials", [this](const auto node) { deserialisePairPotentials(node); }); - - toMap(node, "species", [this](const std::string &name, const SerialisedValue &data) - { coreData_.species().emplace_back(std::make_unique(name))->deserialise(data); }); - - toMap(node, "configurations", - [this](const std::string &name, const SerialisedValue &data) - { - auto *cfg = coreData_.addConfiguration(); - cfg->setName(name); - cfg->deserialise(data); - }); } // Load input from supplied file @@ -184,7 +169,6 @@ bool Dissolve::hasInputFilename() const { return (!inputFilename_.empty()); } void Dissolve::setInputFilename(std::string_view filename) { inputFilename_ = filename; - coreData_.setInputFilename(filename); restartFilename_ = std::format("{}.restart", inputFilename_); } diff --git a/src/main/simulation.cpp b/src/main/simulation.cpp index 6d8c89485e..34cb4e750b 100644 --- a/src/main/simulation.cpp +++ b/src/main/simulation.cpp @@ -19,11 +19,12 @@ bool Dissolve::prepare() Messenger::banner("Preparing Simulation"); // Check Species - for (const auto &sp : coreData_.species()) - { - if (!sp->checkSetUp()) - return false; - } + // TODO DISSOLVE2 + // for (const auto &sp : coreData_.species()) + // { + // if (!sp->checkSetUp()) + // return false; + // } // Store / update last-used pair potential cutoff // If lastPairPotentialCutoff is nullopt, store the current value and move on leaving the cutoff to use as nullopt. @@ -42,25 +43,27 @@ bool Dissolve::prepare() return false; // Check Configurations - std::set globalUsedSpecies; - for (auto &cfg : coreData_.configurations()) - { - if (newPairPotentialRange) - cfg->updateCells(); - - // Check Box extent against pair potential range - auto maxPPRange = cfg->box().inscribedSphereRadius(); - if (PairPotential::range() > maxPPRange) - return Messenger::error("PairPotential range ({}) is longer than the shortest non-minimum image distance ({}).\n", - PairPotential::range(), maxPPRange); - - // Update species usage for the next check - for (auto &[sp, pop] : cfg->speciesPopulations()) - globalUsedSpecies.emplace(sp); - } - - // If we have no configurations, check all species regardless - if (coreData_.nConfigurations() == 0) - for (const auto &sp : coreData_.species()) - globalUsedSpecies.emplace(sp.get()); + // TODO DISSOLVE2 + // std::set globalUsedSpecies; + // for (auto &cfg : coreData_.configurations()) + // { + // if (newPairPotentialRange) + // cfg->updateCells(); + // + // // Check Box extent against pair potential range + // auto maxPPRange = cfg->box().inscribedSphereRadius(); + // if (PairPotential::range() > maxPPRange) + // return Messenger::error("PairPotential range ({}) is longer than the shortest non-minimum image distance + // ({}).\n", + // PairPotential::range(), maxPPRange); + // + // // Update species usage for the next check + // for (auto &[sp, pop] : cfg->speciesPopulations()) + // globalUsedSpecies.emplace(sp); + // } + // + // // If we have no configurations, check all species regardless + // if (coreData_.nConfigurations() == 0) + // for (const auto &sp : coreData_.species()) + // globalUsedSpecies.emplace(sp.get()); } diff --git a/src/nodes/angle.h b/src/nodes/angle.h index c4a9b7a453..3e2bef9d95 100644 --- a/src/nodes/angle.h +++ b/src/nodes/angle.h @@ -10,6 +10,9 @@ #include "math/rangedVector3.h" #include "nodes/node.h" +// Forward Declarations +class Configuration; + class AngleNode : public Node { public: diff --git a/src/nodes/averageMolecule.cpp b/src/nodes/averageMolecule.cpp index 45f61d22b9..497d570e68 100644 --- a/src/nodes/averageMolecule.cpp +++ b/src/nodes/averageMolecule.cpp @@ -2,6 +2,9 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "nodes/averageMolecule.h" +#include "classes/configuration.h" +#include "classes/species.h" +#include "classes/speciesSite.h" AverageMoleculeNode::AverageMoleculeNode(Graph *parentGraph) : Node(parentGraph) { diff --git a/src/nodes/averageMolecule.h b/src/nodes/averageMolecule.h index cff4f67afd..d45c8bd9b4 100644 --- a/src/nodes/averageMolecule.h +++ b/src/nodes/averageMolecule.h @@ -8,6 +8,7 @@ #include "nodes/node.h" // Forward Declarations +class Configuration; class SpeciesSite; class AverageMoleculeNode : public Node diff --git a/src/nodes/axisAngle.h b/src/nodes/axisAngle.h index cb53728f52..e8b6d22dc7 100644 --- a/src/nodes/axisAngle.h +++ b/src/nodes/axisAngle.h @@ -3,6 +3,7 @@ #pragma once +#include "classes/site.h" #include "classes/speciesSites.h" #include "math/histogram1D.h" #include "math/histogram2D.h" @@ -10,6 +11,7 @@ #include "nodes/node.h" // Forward Declarations +class Configuration; class SpeciesSite; class AxisAngleNode : public Node diff --git a/src/nodes/bragg.cpp b/src/nodes/bragg.cpp index eecec5ac04..425940dffe 100644 --- a/src/nodes/bragg.cpp +++ b/src/nodes/bragg.cpp @@ -4,6 +4,7 @@ #define _USE_MATH_DEFINES #include "nodes/bragg.h" #include "base/timer.h" +#include "classes/atomType.h" #include "classes/partialSet.h" BraggNode::BraggNode(Graph *parentGraph) diff --git a/src/nodes/bragg.h b/src/nodes/bragg.h index 81940bf28c..35ff3e148e 100644 --- a/src/nodes/bragg.h +++ b/src/nodes/bragg.h @@ -6,6 +6,7 @@ #include "classes/braggReflection.h" #include "classes/configuration.h" #include "classes/kVector.h" +#include "math/function1D.h" #include "math/history.h" #include "nodes/node.h" diff --git a/src/nodes/cif/importCIFStructure.cpp b/src/nodes/cif/importCIFStructure.cpp index 53bad76aef..20c7e9d3ad 100644 --- a/src/nodes/cif/importCIFStructure.cpp +++ b/src/nodes/cif/importCIFStructure.cpp @@ -6,7 +6,6 @@ #include "CIFImportParser.h" #include "base/messenger.h" #include "base/sysFunc.h" -#include "classes/coreData.h" #include "classes/empiricalFormula.h" #include "nodes/cif/io/CIFImportErrorListeners.h" #include "nodes/cif/io/CIFImportVisitor.h" diff --git a/src/nodes/dAngle.h b/src/nodes/dAngle.h index 117c0e069f..fa23c72d7d 100644 --- a/src/nodes/dAngle.h +++ b/src/nodes/dAngle.h @@ -9,6 +9,9 @@ #include "math/rangedVector3.h" #include "nodes/node.h" +// Forward Declarations +class Configuration; + class DAngleNode : public Node { public: diff --git a/src/nodes/dissolve.cpp b/src/nodes/dissolve.cpp index 59c640735e..2ded84037b 100644 --- a/src/nodes/dissolve.cpp +++ b/src/nodes/dissolve.cpp @@ -2,6 +2,7 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "nodes/dissolve.h" +#include "classes/configuration.h" #include "classes/potentialMap.h" #include "kernels/energy.h" #include "kernels/force.h" diff --git a/src/nodes/dissolve.h b/src/nodes/dissolve.h index 7128b45e15..7cb6d82658 100644 --- a/src/nodes/dissolve.h +++ b/src/nodes/dissolve.h @@ -11,6 +11,7 @@ #include // Forward declarations +class Configuration; class EnergyKernel; class ForceKernel; class PotentialMap; diff --git a/src/nodes/energy.cpp b/src/nodes/energy.cpp index b43f56aba2..6b8310c45c 100644 --- a/src/nodes/energy.cpp +++ b/src/nodes/energy.cpp @@ -3,6 +3,7 @@ #include "nodes/energy.h" #include "base/timer.h" +#include "classes/configuration.h" #include "kernels/energy.h" #include "math/regression.h" #include "nodes/dissolve.h" diff --git a/src/nodes/energy.h b/src/nodes/energy.h index 1e345c578c..32a577147c 100644 --- a/src/nodes/energy.h +++ b/src/nodes/energy.h @@ -6,6 +6,9 @@ #include "math/history.h" #include "nodes/node.h" +// Forward Declarations +class Configuration; + class EnergyNode : public Node { public: diff --git a/src/nodes/epsr.cpp b/src/nodes/epsr.cpp index 350c973b55..8c1e22d3ce 100644 --- a/src/nodes/epsr.cpp +++ b/src/nodes/epsr.cpp @@ -3,6 +3,7 @@ #include "nodes/epsr.h" #include "base/sysFunc.h" +#include "classes/configuration.h" #include "classes/partialSet.h" #include "classes/scatteringMatrix.h" #include "main/dissolve.h" diff --git a/src/nodes/epsr.h b/src/nodes/epsr.h index fa65453c3a..c4ad73ba0e 100644 --- a/src/nodes/epsr.h +++ b/src/nodes/epsr.h @@ -16,6 +16,7 @@ // Forward Declarations class AtomType; +class Configuration; class PartialSet; class EPSRNamedTargetWeights : public Serialisable diff --git a/src/nodes/exportDLPOLYConfiguration.cpp b/src/nodes/exportDLPOLYConfiguration.cpp index 39f27a4f72..015a0a11a5 100644 --- a/src/nodes/exportDLPOLYConfiguration.cpp +++ b/src/nodes/exportDLPOLYConfiguration.cpp @@ -2,8 +2,9 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "nodes/exportDLPOLYConfiguration.h" +#include "classes/atomType.h" +#include "classes/configuration.h" #include "data/atomicMasses.h" -#include "main/dissolve.h" #include "nodes/constants.h" #include diff --git a/src/nodes/exportXYZConfiguration.cpp b/src/nodes/exportXYZConfiguration.cpp index 7d3eea8702..c5594acc70 100644 --- a/src/nodes/exportXYZConfiguration.cpp +++ b/src/nodes/exportXYZConfiguration.cpp @@ -2,7 +2,7 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "nodes/exportXYZConfiguration.h" -#include "main/dissolve.h" +#include "classes/configuration.h" #include "nodes/constants.h" #include diff --git a/src/nodes/exportXYZTrajectory.cpp b/src/nodes/exportXYZTrajectory.cpp index f322ff5344..6eb8fc9a69 100644 --- a/src/nodes/exportXYZTrajectory.cpp +++ b/src/nodes/exportXYZTrajectory.cpp @@ -2,6 +2,8 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "nodes/exportXYZTrajectory.h" +#include "classes/atomType.h" +#include "classes/configuration.h" #include ExportXYZTrajectoryNode::ExportXYZTrajectoryNode(Graph *parentGraph) : Node(parentGraph) diff --git a/src/nodes/exportXYZTrajectory.h b/src/nodes/exportXYZTrajectory.h index 7b65f9dfe7..4b4e3d6e20 100644 --- a/src/nodes/exportXYZTrajectory.h +++ b/src/nodes/exportXYZTrajectory.h @@ -30,7 +30,7 @@ class ExportXYZTrajectoryNode : public Node // File path std::string filePath_; // File format - bool extended_; + bool extended_{false}; // Last read file position std::streampos filePosition_; // Target configuration diff --git a/src/nodes/histogramCN.h b/src/nodes/histogramCN.h index 29d2a52f9e..d44c3087c4 100644 --- a/src/nodes/histogramCN.h +++ b/src/nodes/histogramCN.h @@ -8,6 +8,9 @@ #include "math/range.h" #include "nodes/node.h" +// Forward Declarations +class Configuration; + // Histogrammed Coordination Numbers class HistogramCNNode : public Node { diff --git a/src/nodes/importDLPOLYStructure.h b/src/nodes/importDLPOLYStructure.h index cefb1d0b21..bdb96ad97b 100644 --- a/src/nodes/importDLPOLYStructure.h +++ b/src/nodes/importDLPOLYStructure.h @@ -5,6 +5,7 @@ #include "classes/structure.h" #include "nodes/node.h" +#include "templates/optionalRef.h" class ImportDLPOLYStructureNode : public Node { diff --git a/src/nodes/insert.h b/src/nodes/insert.h index 587d4b88b1..580588d899 100644 --- a/src/nodes/insert.h +++ b/src/nodes/insert.h @@ -7,6 +7,9 @@ #include "classes/moleculeSet.h" #include "nodes/node.h" +// Forward Declarations +class Configuration; + class InsertNode : public Node { public: diff --git a/src/nodes/intraAngle.h b/src/nodes/intraAngle.h index 5329664170..6cda1eb385 100644 --- a/src/nodes/intraAngle.h +++ b/src/nodes/intraAngle.h @@ -8,6 +8,9 @@ #include "math/range.h" #include "nodes/node.h" +// Forward Declarations +class Configuration; + class IntraAngleNode : public Node { public: diff --git a/src/nodes/intraDistance.h b/src/nodes/intraDistance.h index dc2bd1e9af..92c82b6775 100644 --- a/src/nodes/intraDistance.h +++ b/src/nodes/intraDistance.h @@ -7,6 +7,9 @@ #include "math/histogram1D.h" #include "nodes/node.h" +// Forward Declarations +class Configuration; + class IntraDistanceNode : public Node { public: diff --git a/src/nodes/modifierOSites.h b/src/nodes/modifierOSites.h index dd46fe0590..b6af22be7b 100644 --- a/src/nodes/modifierOSites.h +++ b/src/nodes/modifierOSites.h @@ -9,6 +9,9 @@ #include "math/range.h" #include "nodes/node.h" +// Forward Declarations +class Configuration; + class ModifierOSitesNode : public Node { public: diff --git a/src/nodes/moleculeTorsion.h b/src/nodes/moleculeTorsion.h index 68b53c20ca..42720c0d62 100644 --- a/src/nodes/moleculeTorsion.h +++ b/src/nodes/moleculeTorsion.h @@ -6,6 +6,9 @@ #include "math/histogram1D.h" #include "nodes/node.h" +// Forward Declarations +class Configuration; + class MoleculeTorsionNode : public Node { public: diff --git a/src/nodes/neutronSQ.h b/src/nodes/neutronSQ.h index 7c034e5898..5067b31914 100644 --- a/src/nodes/neutronSQ.h +++ b/src/nodes/neutronSQ.h @@ -10,6 +10,9 @@ #include "nodes/node.h" #include +// Forward Declarations +class Configuration; + class NeutronSQNode : public Node { public: diff --git a/src/nodes/node.h b/src/nodes/node.h index 6708a4d5ad..778a9d8b17 100644 --- a/src/nodes/node.h +++ b/src/nodes/node.h @@ -18,6 +18,7 @@ #include // Forward Declarations +class AtomType; class Graph; class Edge; class DissolveGraph; diff --git a/src/nodes/orientedSDF.h b/src/nodes/orientedSDF.h index c4833885cd..b5f4e3751e 100644 --- a/src/nodes/orientedSDF.h +++ b/src/nodes/orientedSDF.h @@ -3,12 +3,15 @@ #pragma once +#include "classes/site.h" #include "classes/speciesSites.h" #include "math/histogram3D.h" #include "math/range.h" #include "nodes/node.h" -// OrientedSDF +// Forward Declarations +class Configuration; + class OrientedSDFNode : public Node { public: diff --git a/src/nodes/parameter.h b/src/nodes/parameter.h index c50b71b7ea..a925056362 100644 --- a/src/nodes/parameter.h +++ b/src/nodes/parameter.h @@ -6,7 +6,6 @@ #include "base/context.h" #include "base/enumOptions.h" #include "base/serialiser.h" -#include "classes/coreData.h" #include "math/data1D.h" #include "nodes/number.h" #include "templates/algorithms.h" diff --git a/src/nodes/qSpecies.h b/src/nodes/qSpecies.h index 4bd77c420c..0906b25225 100644 --- a/src/nodes/qSpecies.h +++ b/src/nodes/qSpecies.h @@ -4,12 +4,13 @@ #pragma once #include "classes/speciesSites.h" -#include "math/histogram1D.h" #include "math/integerHistogram1D.h" #include "math/range.h" #include "nodes/node.h" -// Q-Species +// Forward Declarations +class Configuration; + class QSpeciesNode : public Node { public: diff --git a/src/nodes/sdf.h b/src/nodes/sdf.h index efaf494abd..05f8a8765e 100644 --- a/src/nodes/sdf.h +++ b/src/nodes/sdf.h @@ -7,7 +7,9 @@ #include "math/histogram3D.h" #include "nodes/node.h" -// SDF +// Forward Declarations +class Configuration; + class SDFNode : public Node { public: diff --git a/src/nodes/setCoordinates.cpp b/src/nodes/setCoordinates.cpp index bc40846807..06b83b4ca5 100644 --- a/src/nodes/setCoordinates.cpp +++ b/src/nodes/setCoordinates.cpp @@ -2,6 +2,7 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "nodes/setCoordinates.h" +#include "classes/configuration.h" SetCoordinatesNode::SetCoordinatesNode(Graph *parentGraph) : Node(parentGraph) { diff --git a/src/nodes/sq.h b/src/nodes/sq.h index 396cfcfc24..e1f81b12c7 100644 --- a/src/nodes/sq.h +++ b/src/nodes/sq.h @@ -9,6 +9,9 @@ #include "math/windowFunction.h" #include "nodes/node.h" +// Forward Declarations +class Configuration; + class SQNode : public Node { public: diff --git a/src/nodes/voxelDensity.cpp b/src/nodes/voxelDensity.cpp index 60b55b66cd..3aa38d1a09 100644 --- a/src/nodes/voxelDensity.cpp +++ b/src/nodes/voxelDensity.cpp @@ -2,9 +2,9 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "nodes/voxelDensity.h" -#include "analyser/dataExporter.h" #include "analyser/dataOperator1D.h" #include "data/atomicMasses.h" +#include "data/isotopes.h" VoxelDensityNode::VoxelDensityNode(Graph *parentGraph) : Node(parentGraph) { diff --git a/src/nodes/voxelDensity.h b/src/nodes/voxelDensity.h index 6884a06147..c81c4b6444 100644 --- a/src/nodes/voxelDensity.h +++ b/src/nodes/voxelDensity.h @@ -8,6 +8,7 @@ #include "templates/array3D.h" // Forward declarations +class Box; class Configuration; class VoxelDensityNode : public Node diff --git a/src/nodes/xRaySQ.h b/src/nodes/xRaySQ.h index 94a30d76b3..f1d3ff4723 100644 --- a/src/nodes/xRaySQ.h +++ b/src/nodes/xRaySQ.h @@ -12,6 +12,9 @@ #include "nodes/node.h" #include +// Forward Declarations +class Configuration; + class XRaySQNode : public Node { public: diff --git a/tests/classes/cells2.cpp b/tests/classes/cells2.cpp index 24122034ef..a68dac9a5f 100644 --- a/tests/classes/cells2.cpp +++ b/tests/classes/cells2.cpp @@ -2,6 +2,7 @@ // Copyright (c) 2026 Team Dissolve and contributors #include "classes/atomType.h" +#include "classes/configuration.h" #include "classes/species.h" #include "main/dissolve.h" #include "math/mathFunc.h" diff --git a/tests/gui/masterTerms.cpp b/tests/gui/masterTerms.cpp index 0c8123a4af..e2d217aac1 100644 --- a/tests/gui/masterTerms.cpp +++ b/tests/gui/masterTerms.cpp @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-3.0-or-later // Copyright (c) 2026 Team Dissolve and contributors +#include "classes/species.h" #include "gui/models/commonAngleModel.h" #include "gui/models/commonBondModel.h" #include "gui/models/commonTorsionModel.h" @@ -13,7 +14,6 @@ namespace UnitTest { - class MasterTermsTableModelTest : public ::testing::Test { public: diff --git a/tests/gui/optionalDoubleKeyword.cpp b/tests/gui/optionalDoubleKeyword.cpp index 9f66f1c2a1..ee9a3d34f7 100644 --- a/tests/gui/optionalDoubleKeyword.cpp +++ b/tests/gui/optionalDoubleKeyword.cpp @@ -1,7 +1,6 @@ // SPDX-License-Identifier: GPL-3.0-or-later // Copyright (c) 2026 Team Dissolve and contributors -#include "classes/coreData.h" #include "gui/keywordWidgets/optionalDouble.h" #include #include diff --git a/tests/gui/optionalIntegerKeyword.cpp b/tests/gui/optionalIntegerKeyword.cpp index 814630c537..b7400b7d6c 100644 --- a/tests/gui/optionalIntegerKeyword.cpp +++ b/tests/gui/optionalIntegerKeyword.cpp @@ -1,7 +1,6 @@ // SPDX-License-Identifier: GPL-3.0-or-later // Copyright (c) 2026 Team Dissolve and contributors -#include "classes/coreData.h" #include "gui/keywordWidgets/optionalInt.h" #include #include diff --git a/tests/gui/xmlForcefield.cpp b/tests/gui/xmlForcefield.cpp index 5e7a970cf8..d462699f5b 100644 --- a/tests/gui/xmlForcefield.cpp +++ b/tests/gui/xmlForcefield.cpp @@ -145,8 +145,7 @@ TEST_F(XmlFFTest, XmlImproper) TEST_F(XmlFFTest, XmlAtom) { - CoreData coreData; - XmlAtomModel atoms(coreData); + XmlAtomModel atoms; atoms.readFile(doc.root()); @@ -176,8 +175,7 @@ TEST_F(XmlFFTest, XmlAtom) TEST_F(XmlFFTest, XmlTree) { - CoreData coreData; - XmlTreeModel treeModel(coreData); + XmlTreeModel treeModel; treeModel.setName("TestFF"); diff --git a/tests/nodes/graph.cpp b/tests/nodes/graph.cpp index cd3588adfd..5e686a9387 100644 --- a/tests/nodes/graph.cpp +++ b/tests/nodes/graph.cpp @@ -67,8 +67,7 @@ TEST_F(GraphCoreTest, Serialisation) { createGraph(); - CoreData cd; - Dissolve d(cd); + Dissolve d; DissolveGraph copy; auto serialised = root_.into_toml(); diff --git a/tests/nodes/loop.cpp b/tests/nodes/loop.cpp index 130af24d40..27b784b671 100644 --- a/tests/nodes/loop.cpp +++ b/tests/nodes/loop.cpp @@ -74,8 +74,7 @@ class IterableGraphTest : public ::testing::Test TEST_F(IterableGraphTest, BasicNonLoopingSeries) { - CoreData coreData; - Dissolve dissolve(coreData); + Dissolve dissolve; auto root = std::make_unique(); auto loop = dynamic_cast(root->createNode("Iterator", "Iterator")); auto i = dynamic_cast(root->createNode("Number", "i")); diff --git a/tests/testData.h b/tests/testData.h index 447f58e191..3bb78b255d 100644 --- a/tests/testData.h +++ b/tests/testData.h @@ -3,7 +3,6 @@ #pragma once -#include "classes/coreData.h" #include "classes/partialSet.h" #include "classes/species.h" #include "kernels/energy.h" @@ -99,13 +98,12 @@ template void tomlRoundTrip(T &a, T &b) class DissolveSystemTest { public: - DissolveSystemTest() : dissolve_(coreData_) { dissolve_.setRestartFileFrequency(0); }; + DissolveSystemTest() { dissolve_.setRestartFileFrequency(0); }; /* * Dissolve & CoreData */ private: - CoreData coreData_; Dissolve dissolve_; // Whether to perform rewrite checks on setUp bool rewriteCheck_{true}; @@ -115,8 +113,6 @@ class DissolveSystemTest public: // Return the Dissolve object Dissolve &dissolve() { return dissolve_; } - // Return the CoreData object - CoreData &coreData() { return coreData_; } /* * Checks