diff --git a/Applications/ApplicationsLib/ProjectData.cpp b/Applications/ApplicationsLib/ProjectData.cpp index ba3a8f21a570a9a50e13eddd5fb83ea3b5d87db0..2dbef5a4c620c882ab33cf8d8feb1223cff4c83d 100644 --- a/Applications/ApplicationsLib/ProjectData.cpp +++ b/Applications/ApplicationsLib/ProjectData.cpp @@ -471,7 +471,7 @@ void ProjectData::parseLinearSolvers(BaseLib::ConfigTree const& config) //! \ogs_file_param{prj__linear_solvers__linear_solver} for (auto conf : config.getConfigSubtreeList("linear_solver")) { - //! \ogs_file_param{linear_solver__name} + //! \ogs_file_param{prj__linear_solvers__linear_solver__name} auto const name = conf.getConfigParameter<std::string>("name"); BaseLib::insertIfKeyUniqueElseError( _linear_solvers, diff --git a/Documentation/ProjectFile/i_ProjectFile.md b/Documentation/ProjectFile/i_ProjectFile.md index b95ed9e4e8d1612de69809f372e61df71b594255..4a6d7e083b57d80587ae9f50e829c0d27ae9613d 100644 --- a/Documentation/ProjectFile/i_ProjectFile.md +++ b/Documentation/ProjectFile/i_ProjectFile.md @@ -14,7 +14,7 @@ different prefixes, namely: file.<br> Usually one can choose one of several cases by specifying the associated <tt><type></tt> tag in the input file.<br> - Example: \ref ogs_file_param__linear_solver + Example: \ref ogs_file_param__prj__linear_solvers__linear_solver and \ref ogs_file_param__parameter__Constant (<tt><type>Constant</type></tt>) vs. \ref ogs_file_param__parameter__MeshNode (<tt><type>MeshNode</type></tt>) diff --git a/Documentation/ProjectFile/linear_solver/c_linear_solver.md b/Documentation/ProjectFile/linear_solver/c_linear_solver.md deleted file mode 100644 index 2421001b7de105ef51cf5db89ec0a636d0f37a25..0000000000000000000000000000000000000000 --- a/Documentation/ProjectFile/linear_solver/c_linear_solver.md +++ /dev/null @@ -1,6 +0,0 @@ -In this group the configuration of linear solvers is described. - -Unlike all other options, there can be configurations for linear solvers from -the Eigen, LIS, PETSc, etc. libraries at the same time. Which solver will be -applied in the end is determined by the build configuration of the OGS -executable. diff --git a/Documentation/ProjectFile/prj/linear_solvers/i_linear_solvers.md b/Documentation/ProjectFile/prj/linear_solvers/i_linear_solvers.md index b18a1074e7e43a302c36cdf4b4dafea0e8429e32..7ec54badcebefb2b203eeaa7a89c6ed3b0bbaecf 100644 --- a/Documentation/ProjectFile/prj/linear_solvers/i_linear_solvers.md +++ b/Documentation/ProjectFile/prj/linear_solvers/i_linear_solvers.md @@ -1 +1,3 @@ -Contains linear solver settings. +In this group the configuration of linear solvers is described. + +The linear solvers are distinguished by their names. diff --git a/Documentation/ProjectFile/linear_solver/eigen/i_eigen.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/i_eigen.md similarity index 100% rename from Documentation/ProjectFile/linear_solver/eigen/i_eigen.md rename to Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/i_eigen.md diff --git a/Documentation/ProjectFile/linear_solver/eigen/t_error_tolerance.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_error_tolerance.md similarity index 100% rename from Documentation/ProjectFile/linear_solver/eigen/t_error_tolerance.md rename to Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_error_tolerance.md diff --git a/Documentation/ProjectFile/linear_solver/eigen/t_max_iteration_step.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_max_iteration_step.md similarity index 100% rename from Documentation/ProjectFile/linear_solver/eigen/t_max_iteration_step.md rename to Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_max_iteration_step.md diff --git a/Documentation/ProjectFile/linear_solver/eigen/t_precon_type.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_precon_type.md similarity index 100% rename from Documentation/ProjectFile/linear_solver/eigen/t_precon_type.md rename to Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_precon_type.md diff --git a/Documentation/ProjectFile/linear_solver/eigen/t_scaling.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_scaling.md similarity index 100% rename from Documentation/ProjectFile/linear_solver/eigen/t_scaling.md rename to Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_scaling.md diff --git a/Documentation/ProjectFile/linear_solver/eigen/t_solver_type.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_solver_type.md similarity index 100% rename from Documentation/ProjectFile/linear_solver/eigen/t_solver_type.md rename to Documentation/ProjectFile/prj/linear_solvers/linear_solver/eigen/t_solver_type.md diff --git a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/i_linear_solver.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/i_linear_solver.md index 21e2a2010b77c5b24da255a80f74cd6681ef283d..e31a29eeea25564e7991f8c96aa77467585278ab 100644 --- a/Documentation/ProjectFile/prj/linear_solvers/linear_solver/i_linear_solver.md +++ b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/i_linear_solver.md @@ -1,3 +1,6 @@ Defines a single linear solver. -See \ref ogs_file_param__linear_solver. +Unlike all other options, there can be configurations for linear solvers from +the Eigen, LIS, PETSc, etc. libraries at the same time. Which solver will be +applied in the end is determined by the build configuration of the OGS +executable. diff --git a/Documentation/ProjectFile/linear_solver/petsc/i_petsc.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/petsc/i_petsc.md similarity index 100% rename from Documentation/ProjectFile/linear_solver/petsc/i_petsc.md rename to Documentation/ProjectFile/prj/linear_solvers/linear_solver/petsc/i_petsc.md diff --git a/Documentation/ProjectFile/linear_solver/petsc/t_parameters.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/petsc/t_parameters.md similarity index 100% rename from Documentation/ProjectFile/linear_solver/petsc/t_parameters.md rename to Documentation/ProjectFile/prj/linear_solvers/linear_solver/petsc/t_parameters.md diff --git a/Documentation/ProjectFile/linear_solver/petsc/t_prefix.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/petsc/t_prefix.md similarity index 100% rename from Documentation/ProjectFile/linear_solver/petsc/t_prefix.md rename to Documentation/ProjectFile/prj/linear_solvers/linear_solver/petsc/t_prefix.md diff --git a/Documentation/ProjectFile/linear_solver/t_lis.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/t_lis.md similarity index 100% rename from Documentation/ProjectFile/linear_solver/t_lis.md rename to Documentation/ProjectFile/prj/linear_solvers/linear_solver/t_lis.md diff --git a/Documentation/ProjectFile/linear_solver/t_name.md b/Documentation/ProjectFile/prj/linear_solvers/linear_solver/t_name.md similarity index 100% rename from Documentation/ProjectFile/linear_solver/t_name.md rename to Documentation/ProjectFile/prj/linear_solvers/linear_solver/t_name.md diff --git a/Documentation/ProjectFile/prj/nonlinear_solvers/nonlinear_solver/t_linear_solver.md b/Documentation/ProjectFile/prj/nonlinear_solvers/nonlinear_solver/t_linear_solver.md index 66686d595320bcb3cb0682696664c3d4f8a70bed..106190c28483a20a54c5c24cc56ef463bb667424 100644 --- a/Documentation/ProjectFile/prj/nonlinear_solvers/nonlinear_solver/t_linear_solver.md +++ b/Documentation/ProjectFile/prj/nonlinear_solvers/nonlinear_solver/t_linear_solver.md @@ -1,4 +1,4 @@ Specifies the linear solver used to solve the linearized equation systems. -The linear solver is referenced by \ref ogs_file_param__linear_solver__name +The linear solver is referenced by \ref ogs_file_param__prj__linear_solvers__linear_solver__name "name". diff --git a/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp b/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp index c04c897a6e1e582358065a95330895f6ab801a6b..b00e9c0c550b27967b70a36106481d1b6b5def88 100644 --- a/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp +++ b/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp @@ -218,33 +218,33 @@ EigenLinearSolver::~EigenLinearSolver() = default; void EigenLinearSolver::setOption(BaseLib::ConfigTree const& option) { ignoreOtherLinearSolvers(option, "eigen"); - //! \ogs_file_param{linear_solver__eigen} + //! \ogs_file_param{prj__linear_solvers__linear_solver__eigen} auto const ptSolver = option.getConfigSubtreeOptional("eigen"); if (!ptSolver) return; if (auto solver_type = - //! \ogs_file_param{linear_solver__eigen__solver_type} + //! \ogs_file_param{prj__linear_solvers__linear_solver__eigen__solver_type} ptSolver->getConfigParameterOptional<std::string>("solver_type")) { _option.solver_type = _option.getSolverType(*solver_type); } if (auto precon_type = - //! \ogs_file_param{linear_solver__eigen__precon_type} + //! \ogs_file_param{prj__linear_solvers__linear_solver__eigen__precon_type} ptSolver->getConfigParameterOptional<std::string>("precon_type")) { _option.precon_type = _option.getPreconType(*precon_type); } if (auto error_tolerance = - //! \ogs_file_param{linear_solver__eigen__error_tolerance} + //! \ogs_file_param{prj__linear_solvers__linear_solver__eigen__error_tolerance} ptSolver->getConfigParameterOptional<double>("error_tolerance")) { _option.error_tolerance = *error_tolerance; } if (auto max_iteration_step = - //! \ogs_file_param{linear_solver__eigen__max_iteration_step} + //! \ogs_file_param{prj__linear_solvers__linear_solver__eigen__max_iteration_step} ptSolver->getConfigParameterOptional<int>("max_iteration_step")) { _option.max_iterations = *max_iteration_step; } if (auto scaling = - //! \ogs_file_param{linear_solver__eigen__scaling} + //! \ogs_file_param{prj__linear_solvers__linear_solver__eigen__scaling} ptSolver->getConfigParameterOptional<bool>("scaling")) { #ifdef USE_EIGEN_UNSUPPORTED _option.scaling = *scaling; diff --git a/MathLib/LinAlg/Lis/LisOption.h b/MathLib/LinAlg/Lis/LisOption.h index d3313d8d82f02facbf2b4f50bc9b3abde0728609..94d3eac62883567369f72c1162be8098432f7007 100644 --- a/MathLib/LinAlg/Lis/LisOption.h +++ b/MathLib/LinAlg/Lis/LisOption.h @@ -44,7 +44,7 @@ struct LisOption { if (options) { ignoreOtherLinearSolvers(*options, "lis"); - //! \ogs_file_param{linear_solver__lis} + //! \ogs_file_param{prj__linear_solvers__linear_solver__lis} if (auto s = options->getConfigParameterOptional<std::string>("lis")) { if (!s->empty()) { _option_string += " " + *s; diff --git a/MathLib/LinAlg/PETSc/PETScLinearSolver.cpp b/MathLib/LinAlg/PETSc/PETScLinearSolver.cpp index 961678f85bf8d423d9cf039d5cb2ec1463f0a5be..75b1a84db9d803a7ad0261ecd25cb47df314322d 100644 --- a/MathLib/LinAlg/PETSc/PETScLinearSolver.cpp +++ b/MathLib/LinAlg/PETSc/PETScLinearSolver.cpp @@ -33,16 +33,16 @@ PETScLinearSolver::PETScLinearSolver(const std::string /*prefix*/, if (option) { ignoreOtherLinearSolvers(*option, "petsc"); - //! \ogs_file_param{linear_solver__petsc} + //! \ogs_file_param{prj__linear_solvers__linear_solver__petsc} if (auto const subtree = option->getConfigSubtreeOptional("petsc")) { if (auto const parameters = - //! \ogs_file_param{linear_solver__petsc__parameters} + //! \ogs_file_param{prj__linear_solvers__linear_solver__petsc__parameters} subtree->getConfigParameterOptional<std::string>("parameters")) { petsc_options = *parameters; } - //! \ogs_file_param{linear_solver__petsc__prefix} + //! \ogs_file_param{prj__linear_solvers__linear_solver__petsc__prefix} if (auto const pre = subtree->getConfigParameterOptional<std::string>("prefix")) { if (!pre->empty()) prefix = *pre + "_"; diff --git a/scripts/doc/append-xml-tags.py b/scripts/doc/append-xml-tags.py index 3daea1acfd00ed32b626e0c6679fe00b0e4f04b2..6a3e8afe2d7aa93945d8a2924cca05d818256747 100755 --- a/scripts/doc/append-xml-tags.py +++ b/scripts/doc/append-xml-tags.py @@ -36,7 +36,6 @@ docdir = os.path.join(docauxdir, "dox", "ProjectFile") # used to expand documentation entry points to full xml tag paths # that are used in the prj file. tag_path_expansion_table = { - "linear_solver": "linear_solvers.linear_solver", "process": "processes.process", "parameter": "parameters.parameter", "prj": "", diff --git a/scripts/doc/linked-xml-file.py b/scripts/doc/linked-xml-file.py index 6bd522d7e3c3e03cf02c9fbda97d6913bcb9e75e..cf67be752634a82cf97264d6251716d7eddaaa96 100755 --- a/scripts/doc/linked-xml-file.py +++ b/scripts/doc/linked-xml-file.py @@ -34,7 +34,6 @@ docauxdir = os.path.abspath(docauxdir) outdir = os.path.join(docauxdir, "dox", "CTestProjectFiles") tag_path_expansion_table = { - "prj__linear_solvers__linear_solver": "linear_solver", "prj__processes__process": "process", "prj__parameters__parameter": "parameter" }