diff --git a/Applications/ApplicationsLib/TestDefinition.cpp b/Applications/ApplicationsLib/TestDefinition.cpp index 7914a00116e3de24e804ade97485480f7c432e3b..0611ac75736c2cb1a9c6903860ea378d3a026651 100644 --- a/Applications/ApplicationsLib/TestDefinition.cpp +++ b/Applications/ApplicationsLib/TestDefinition.cpp @@ -140,11 +140,13 @@ TestDefinition::TestDefinition(BaseLib::ConfigTree const& config_tree, std::string const vtkdiff = findVtkdiff(); // Construct command lines for each entry. + //! \ogs_file_param{prj__test_definition__vtkdiff} auto const& vtkdiff_configs = config_tree.getConfigSubtreeList("vtkdiff"); _command_lines.reserve(vtkdiff_configs.size()); for (auto const& vtkdiff_config : vtkdiff_configs) { std::string const& field_name = + //! \ogs_file_param{prj__test_definition__vtkdiff__field} vtkdiff_config.getConfigParameter<std::string>("field"); DBUG("vtkdiff will compare field '%s'.", field_name.c_str()); @@ -155,10 +157,12 @@ TestDefinition::TestDefinition(BaseLib::ConfigTree const& config_tree, MPI_Comm_size(PETSC_COMM_WORLD, &mpi_size); std::string const& filename = MeshLib::IO::getVtuFileNameForPetscOutputWithoutExtension( + //! \ogs_file_param{prj__test_definition__vtkdiff__file} vtkdiff_config.getConfigParameter<std::string>("file")) + "_" + std::to_string(rank) + ".vtu"; #else std::string const& filename = + //! \ogs_file_param{prj__test_definition__vtkdiff__file} vtkdiff_config.getConfigParameter<std::string>("file"); #endif // OGS_USE_PETSC std::string const& output_filename = @@ -169,6 +173,7 @@ TestDefinition::TestDefinition(BaseLib::ConfigTree const& config_tree, BaseLib::joinPaths(reference_path, filename); auto const& absolute_tolerance = + //! \ogs_file_param{prj__test_definition__vtkdiff__absolute_tolerance} vtkdiff_config.getConfigParameterOptional<double>( "absolute_tolerance"); std::string const absolute_tolerance_parameter = @@ -177,6 +182,7 @@ TestDefinition::TestDefinition(BaseLib::ConfigTree const& config_tree, : "--abs " + convert_to_string(*absolute_tolerance); auto const& relative_tolerance = + //! \ogs_file_param{prj__test_definition__vtkdiff__relative_tolerance} vtkdiff_config.getConfigParameterOptional<double>( "relative_tolerance"); std::string const relative_tolerance_parameter = diff --git a/Applications/CLI/ogs.cpp b/Applications/CLI/ogs.cpp index 541a009e2145e62ee345c2a4c69a58802b54dc9c..0d3650f5e59aae9a62b6ff46b3d1af0538d88723 100644 --- a/Applications/CLI/ogs.cpp +++ b/Applications/CLI/ogs.cpp @@ -190,6 +190,7 @@ int main(int argc, char* argv[]) { test_definition = std::make_unique<ApplicationsLib::TestDefinition>( + //! \ogs_file_param{prj__test_definition} project_config->getConfigSubtree("test_definition"), reference_path_arg.getValue(), outdir_arg.getValue()); diff --git a/Documentation/ProjectFile/prj/test_definition/i_test_definition.md b/Documentation/ProjectFile/prj/test_definition/i_test_definition.md new file mode 100644 index 0000000000000000000000000000000000000000..17e7af123872120e4b1e4e84c8fff218bb383385 --- /dev/null +++ b/Documentation/ProjectFile/prj/test_definition/i_test_definition.md @@ -0,0 +1 @@ +Test definitions for post-simulation comparisons. diff --git a/Documentation/ProjectFile/prj/test_definition/vtkdiff/i_vtkdiff.md b/Documentation/ProjectFile/prj/test_definition/vtkdiff/i_vtkdiff.md new file mode 100644 index 0000000000000000000000000000000000000000..c61e662d54e152bba95e40187be90ba5cdf39c68 --- /dev/null +++ b/Documentation/ProjectFile/prj/test_definition/vtkdiff/i_vtkdiff.md @@ -0,0 +1,3 @@ +Test definition for vtkdiff comparison tool. + +See https://github.com/ufz/vtkdiff diff --git a/Documentation/ProjectFile/prj/test_definition/vtkdiff/t_absolute_tolerance.md b/Documentation/ProjectFile/prj/test_definition/vtkdiff/t_absolute_tolerance.md new file mode 100644 index 0000000000000000000000000000000000000000..576f7d14590b6e5b41590689ab4e8047ae5eba14 --- /dev/null +++ b/Documentation/ProjectFile/prj/test_definition/vtkdiff/t_absolute_tolerance.md @@ -0,0 +1 @@ +Absolute tolerance \f$\epsilon\f$ for comparison \f$|a - b| < \epsilon\f$. diff --git a/Documentation/ProjectFile/prj/test_definition/vtkdiff/t_field.md b/Documentation/ProjectFile/prj/test_definition/vtkdiff/t_field.md new file mode 100644 index 0000000000000000000000000000000000000000..ef446458e2b1022675010c1d034a5d4c4f6b325e --- /dev/null +++ b/Documentation/ProjectFile/prj/test_definition/vtkdiff/t_field.md @@ -0,0 +1 @@ +Name of the point data or the cell data field to be compared. diff --git a/Documentation/ProjectFile/prj/test_definition/vtkdiff/t_file.md b/Documentation/ProjectFile/prj/test_definition/vtkdiff/t_file.md new file mode 100644 index 0000000000000000000000000000000000000000..266d913ccbe334941c4c8059026c3fc2399a3dc5 --- /dev/null +++ b/Documentation/ProjectFile/prj/test_definition/vtkdiff/t_file.md @@ -0,0 +1,3 @@ +Full name of the output file including the `.vtu` ending. For parallel +simulations specify the same name as for the serial case; conversion of the file +names according to the number of ranks happens automatically. diff --git a/Documentation/ProjectFile/prj/test_definition/vtkdiff/t_relative_tolerance.md b/Documentation/ProjectFile/prj/test_definition/vtkdiff/t_relative_tolerance.md new file mode 100644 index 0000000000000000000000000000000000000000..c59e7d5948226fcf1b552926da3527b494748b20 --- /dev/null +++ b/Documentation/ProjectFile/prj/test_definition/vtkdiff/t_relative_tolerance.md @@ -0,0 +1,4 @@ +Relative tolerance \f$\delta\f$ for comparison \f${|a - b| \over {\textrm +min}(|a|, |b|)} < \delta\f$. +If the absolute difference \f$|a - b|\f$ is zero, zero is returned. +If \f$a\f$ or \f$b\f$ are zero, \f$+\infty\f$ is returned.