hyteg issueshttps://i10git.cs.fau.de/hyteg/hyteg/-/issues2024-01-16T13:40:33+01:00https://i10git.cs.fau.de/hyteg/hyteg/-/issues/229VTK output is not possible for functions in single precision2024-01-16T13:40:33+01:00Michael ZikeliVTK output is not possible for functions in single precisionWhile writing VTK output, functions that have another type than double precision are simply skipped and only the mesh structure and the functions of double or integer type are printed. There is no user notification, that this is done, th...While writing VTK output, functions that have another type than double precision are simply skipped and only the mesh structure and the functions of double or integer type are printed. There is no user notification, that this is done, the function values are just missing in the output file.
A possible workaround is to use the `.copyfrom()` member function to create a printable copied function object of value type double, however this works only for P1 functions.
Allowing VTK output for any precision (e.g. single, half, ...) would be a nice to have.Michael ZikeliMichael Zikelihttps://i10git.cs.fau.de/hyteg/hyteg/-/issues/228AdiosWriterTest fails with old ICC2023-09-15T09:52:04+02:00Marcus MohrAdiosWriterTest fails with old ICCActivating ADIOS tests in the pipeline, see MR !645 revealed a [problem](https://i10git.cs.fau.de/hyteg/hyteg/-/jobs/1118381) with the `AdiosWriterTest`. It fails for ICC 2022, but only for that one.Activating ADIOS tests in the pipeline, see MR !645 revealed a [problem](https://i10git.cs.fau.de/hyteg/hyteg/-/jobs/1118381) with the `AdiosWriterTest`. It fails for ICC 2022, but only for that one.Implement basic Checkpointing FunctionalityMarcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/issues/222Problem with exporting DG functions to VTK2023-10-05T17:03:55+02:00Marcus MohrProblem with exporting DG functions to VTKWe seem to have missed the introduction of a regression in the pipeline. Running `VTKOutputTest` on the current master works, but the resulting files for P0, DG1, P1DGE are invalid. The connectivity is either screwed up or so wrong that ...We seem to have missed the introduction of a regression in the pipeline. Running `VTKOutputTest` on the current master works, but the resulting files for P0, DG1, P1DGE are invalid. The connectivity is either screwed up or so wrong that ParaView simply crashes.
The files for CG functions appear to be fine, though.
We need a better way to automatically verify that we cannot only write files, but also that their contents make sense.
I also added assertions to
- ```VTKMeshWriter::writeCells2D()```
- ```VTKMeshWriter::writeCells3D()```
to at least ensure that the node indices in the connectivity list are not exceeding the number of nodes we write to the file. See
https://i10git.cs.fau.de/hyteg/hyteg/-/pipelines/53914.https://i10git.cs.fau.de/hyteg/hyteg/-/issues/210VTKOutput for N1E1Function fails in case of non-FP ValueType2023-04-27T16:32:16+02:00Marcus MohrVTKOutput for N1E1Function fails in case of non-FP ValueTypeHi,
I just extended the `VTKOutputTest` to include all the new function classes for which VTKWriters had been implemented:
- P0Function
- DG1Function
- EGFunction
- N1E1VectorFunction
The test checks that we can compile and execute cod...Hi,
I just extended the `VTKOutputTest` to include all the new function classes for which VTKWriters had been implemented:
- P0Function
- DG1Function
- EGFunction
- N1E1VectorFunction
The test checks that we can compile and execute code for exporting scalar and/or fields over $`\mathbb{R}`$ represented by these functions, i.e. when the `ValueType` of the template is `real_t`. Additionally it also checks whether we can export function objects where `ValueType` is `int32_t` and `int64_t`.
In the case of the `N1E1VectorFunction` class the integer part fails, because `N1E1VectorFunction::communicate()` aborts for non-FP types.
```
if constexpr ( !std::is_floating_point< ValueType >::value )
{
WALBERLA_ABORT(
"This function flips the signs of unknowns to accommodate for inconsistent edge orientations. Do not use it to communicate index vectors. Use getDoFs()->communicate instead!" )
}
```
Admittedly, exporting integer fields is not a feature that is much sought after. However, it can be helpful e.g. in inspecting whether our DoF enumerations work correctly. Actually this is the way the test sets up the fields.
I am not overly familiar with the implementation details of `N1E1VectorFunction`. However, the abort message suggest that there is a workaround. Would it be possible to have `communicate()` use that workaround instead of aborting in case of non-FP types?
Cheers
MarcusDaniel BauerDaniel Bauerhttps://i10git.cs.fau.de/hyteg/hyteg/-/issues/198Bad error metric in some 1:1 function comparison tests2023-02-07T13:35:02+01:00Nils KohlBad error metric in some 1:1 function comparison testsSome tests apply a bad error metric to check whether two functions are equal.
For example this applies here:
https://i10git.cs.fau.de/hyteg/hyteg/-/blob/5a581562882693eaa56d8ea24a8196c152485721/tests/hyteg/P1/P1PetscApplyTest.cpp#L106
...Some tests apply a bad error metric to check whether two functions are equal.
For example this applies here:
https://i10git.cs.fau.de/hyteg/hyteg/-/blob/5a581562882693eaa56d8ea24a8196c152485721/tests/hyteg/P1/P1PetscApplyTest.cpp#L106
```
const auto absScalarProd = std::abs( err.dotGlobal( ones, level, location ) );
WALBERLA_CHECK_LESS( absScalarProd, eps );
```
But the test could pass even if the error is large, if it just alternates at each point for instance. That is unlikely, but extremely misleading once it happens. Rather we should use the 2- or inf-norm here.Nils KohlNils Kohlhttps://i10git.cs.fau.de/hyteg/hyteg/-/issues/179Add test for the SphericalHarmonicsTool2022-05-05T11:22:00+02:00Marcus MohrAdd test for the SphericalHarmonicsToolCurrently there are no tests for the computation of spherical harmonics with the `SphericalHarmonicsTool`. We should add some.
A potential start could be to modify some code from `apps/SphericalHarmonics`.Currently there are no tests for the computation of spherical harmonics with the `SphericalHarmonicsTool`. We should add some.
A potential start could be to modify some code from `apps/SphericalHarmonics`.Marcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/issues/160AgglomerationMatMulTest3 seems undeterministic2022-05-04T11:25:46+02:00Marcus MohrAgglomerationMatMulTest3 seems undeterministicHi,
there seems to be a problem with the **AgglomerationMatMulTest3** test. What I see from the pipelines it seems to succeed or fail in a non-deterministic manner. So either there is some randomness in the test that causes this or a bu...Hi,
there seems to be a problem with the **AgglomerationMatMulTest3** test. What I see from the pipelines it seems to succeed or fail in a non-deterministic manner. So either there is some randomness in the test that causes this or a bug.
Cheers
MarcusNils KohlNils Kohlhttps://i10git.cs.fau.de/hyteg/hyteg/-/issues/96Black-Box Matrix Output2020-10-07T14:04:44+02:00Nils KohlBlack-Box Matrix OutputFor debugging purposes it would be nice to have some sort of black-box matrix output (to PETSc / Matlab) for arbitrary matrices - especially if they are assembled on-the-fly or are built with inverse matrices (e.g. Schur-complement).
Th...For debugging purposes it would be nice to have some sort of black-box matrix output (to PETSc / Matlab) for arbitrary matrices - especially if they are assembled on-the-fly or are built with inverse matrices (e.g. Schur-complement).
Therefore we could repeatedly apply the matrix to unit vectors to emulate a multiplication with the identity.
The resulting vectors can then be collected and written into multiple files or (probably better) be assembled into
a PETSc data structure (and then written using the available PETSc -> Matlab functions).Daniel DrzisgaDaniel Drzisga