diff --git a/Applications/FileIO/XmlIO/Qt/XmlNumInterface.cpp b/Applications/FileIO/XmlIO/Qt/XmlNumInterface.cpp deleted file mode 100644 index 2b32cf6504cfd22f1d8a15ff72c20feb5a32ea31..0000000000000000000000000000000000000000 --- a/Applications/FileIO/XmlIO/Qt/XmlNumInterface.cpp +++ /dev/null @@ -1,148 +0,0 @@ -/** - * \file - * \author Karsten Rink - * \date 2014-08-05 - * \brief Implementation of the XmlNumInterface class. - * - * \copyright - * Copyright (c) 2012-2021, OpenGeoSys Community (http://www.opengeosys.org) - * Distributed under a Modified BSD License. - * See accompanying file LICENSE.txt or - * http://www.opengeosys.org/project/license - * - */ - -#include "XmlNumInterface.h" - -#include <QFile> -#include <QTextCodec> -#include <QtXml/QDomDocument> - -#include "BaseLib/Logging.h" - -namespace FileIO -{ -XmlNumInterface::XmlNumInterface() : XMLQtInterface("OpenGeoSysNUM.xsd") {} - -int XmlNumInterface::readFile(QString const& fileName) -{ - if (XMLQtInterface::readFile(fileName) == 0) - { - return 0; - } - - QDomDocument doc("OGS-NUM-DOM"); - doc.setContent(_fileData); - QDomElement const docElement = doc.documentElement(); //OGSNonlinearSolverSetup - if (docElement.nodeName().compare("OGSNonlinearSolverSetup")) - { - ERR("XmlNumInterface::readFile() - Unexpected XML root."); - return 0; - } - - QDomElement num_node = docElement.firstChildElement(); - - while (!num_node.isNull()) - { - if (num_node.nodeName().compare("Type") == 0) - { - std::string const solver_type = num_node.toElement().text().toStdString(); - INFO("Non-linear solver type: {:s}.", solver_type); - } - else if (num_node.nodeName().compare("LinearSolver") == 0) - { - readLinearSolverConfiguration(num_node); - } - else if (num_node.nodeName().compare("IterationScheme") == 0) - { - readIterationScheme(num_node); - } - else if (num_node.nodeName().compare("Convergence") == 0) - { - readConvergenceCriteria(num_node); - } - - num_node = num_node.nextSiblingElement(); - } - - return 1; -} - -void XmlNumInterface::readLinearSolverConfiguration(QDomElement const& lin_root) -{ - std::string const library = lin_root.attribute("Library").toStdString(); - std::string lin_solver_type; - std::string precond_type("no"); - - QDomElement linear_solver_node = lin_root.firstChildElement(); - while (!linear_solver_node.isNull()) - { - if (linear_solver_node.nodeName().compare("Type") == 0) - { - lin_solver_type = - linear_solver_node.toElement().text().toStdString(); - } - if (linear_solver_node.nodeName().compare("Preconditioner") == 0) - { - precond_type = linear_solver_node.toElement().text().toStdString(); - } - linear_solver_node = linear_solver_node.nextSiblingElement(); - } - INFO("Using {:s}-library with solver {:s} and {:s} preconditioner.", - library, lin_solver_type, precond_type); -} - - -void XmlNumInterface::readIterationScheme(QDomElement const& iteration_root) -{ - QDomElement iteration_node = iteration_root.firstChildElement(); - int max_iterations(0); - int fixed_step_size(0); - - while (!iteration_node.isNull()) - { - if (iteration_node.nodeName().compare("MaxIterations") == 0) - { - max_iterations = iteration_node.toElement().text().toInt(); - } - if (iteration_node.nodeName().compare("FixedStepSize") == 0) - { - fixed_step_size = iteration_node.toElement().text().toInt(); - } - - iteration_node = iteration_node.nextSiblingElement(); - } - INFO("Doing a maximum of {:d} iterations at fixed step size of {:f}", - max_iterations, fixed_step_size); -} - -void XmlNumInterface::readConvergenceCriteria(QDomElement const& convergence_root) -{ - QDomElement conv_node = convergence_root.firstChildElement(); - double error_threshold(0); - std::string error_method; - - while (!conv_node.isNull()) - { - if (conv_node.nodeName().compare("Method") == 0) - { - error_method = conv_node.toElement().text().toStdString(); - } - if (conv_node.nodeName().compare("ErrorThreshold") == 0) - { - error_threshold = conv_node.toElement().text().toDouble(); - } - - conv_node = conv_node.nextSiblingElement(); - } - INFO("Convergence reached when error below {:f} using {:s}.", - error_threshold, error_method); -} - -bool XmlNumInterface::write() -{ - INFO("Not yet implemented..."); - return false; -} - -} // namespace FileIO diff --git a/Applications/FileIO/XmlIO/Qt/XmlNumInterface.h b/Applications/FileIO/XmlIO/Qt/XmlNumInterface.h deleted file mode 100644 index 39411d89cc37219be79f7c36a6e6a03c297914aa..0000000000000000000000000000000000000000 --- a/Applications/FileIO/XmlIO/Qt/XmlNumInterface.h +++ /dev/null @@ -1,44 +0,0 @@ -/** - * \file - * \author Karsten Rink - * \date 2014-08-05 - * \brief Definition of the XmlNumInterface class. - * - * \copyright - * Copyright (c) 2012-2021, OpenGeoSys Community (http://www.opengeosys.org) - * Distributed under a Modified BSD License. - * See accompanying file LICENSE.txt or - * http://www.opengeosys.org/project/license - * - */ - -#pragma once - -#include "BaseLib/IO/XmlIO/XMLInterface.h" -#include "BaseLib/IO/XmlIO/Qt/XMLQtInterface.h" - -namespace FileIO -{ - -class XmlNumInterface : public BaseLib::IO::XMLInterface, public BaseLib::IO::XMLQtInterface -{ -public: - XmlNumInterface(); - - ~XmlNumInterface() override = default; - - int readFile(QString const& fileName) override; - - bool readFile(std::string const& fname) override - { - return readFile(QString(fname.c_str())) != 0; - } - -protected: - void readLinearSolverConfiguration(QDomElement const& lin_root); - void readIterationScheme(QDomElement const& iteration_root); - void readConvergenceCriteria(QDomElement const& convergence_root); - bool write() override; -}; - -} // namespace FileIO