hyteg issueshttps://i10git.cs.fau.de/hyteg/hyteg/-/issues2023-04-27T16:32:16+02:00https://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