hyteg merge requestshttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests2017-10-05T12:59:39+02:00https://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/59Generated ci yaml2017-10-05T12:59:39+02:00Nils KohlGenerated ci yamlNow with code coverage!
CI .yaml file can be generated using the template in https://i10git.cs.fau.de/terraneo/buildenvsNow with code coverage!
CI .yaml file can be generated using the template in https://i10git.cs.fau.de/terraneo/buildenvsNils KohlNils Kohlhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/69communication: added sync word in debug mode2017-10-17T18:01:25+02:00Nils Kohlcommunication: added sync word in debug modeNils KohlNils Kohlhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/97added edge dof to edge dof operator test2017-12-21T16:19:24+01:00Nils Kohladded edge dof to edge dof operator testhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/134Adds test for the P1MassOperator2018-03-28T13:38:50+02:00Marcus MohrAdds test for the P1MassOperatorThe commit adds another test to the testsuite. It compares the area of two domains to the one computed using the P1 mass operator.The commit adds another test to the testsuite. It compares the area of two domains to the one computed using the P1 mass operator.https://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/203Stokes petsc 3D2019-01-18T18:06:25+01:00Nils KohlStokes petsc 3DNils KohlNils Kohlhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/215P2 multigrid experiments2019-02-27T14:03:40+01:00Nils KohlP2 multigrid experimentsNils KohlNils Kohlhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/323Adds AffineMap3D for blending2020-03-31T11:16:15+02:00Marcus MohrAdds AffineMap3D for blendingMarcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/379MacroFaceIndexing fix2020-11-27T14:38:35+01:00Daniel DrzisgaMacroFaceIndexing fixWhile trying out different permutations of vertex orderings in a macro face, I noticed some kind of anomaly. Andreas dug deeper and managed to find a bug in `MacroFaceIndexing.hpp`. It seems like the tests had a mistake as well and that ...While trying out different permutations of vertex orderings in a macro face, I noticed some kind of anomaly. Andreas dug deeper and managed to find a bug in `MacroFaceIndexing.hpp`. It seems like the tests had a mistake as well and that is why the bug went unnoticed. We are still unsure why we have never noticed this error in any of our experiments. We can discuss more about this later in our meeting.Nils KohlNils Kohlhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/482Bumping code coverage a little by adding untested forms to fenics comparison ...2022-02-04T12:44:29+01:00Nils KohlBumping code coverage a little by adding untested forms to fenics comparison test.Fixes https://i10git.cs.fau.de/hyteg/hyteg/-/issues/168.Fixes https://i10git.cs.fau.de/hyteg/hyteg/-/issues/168.Nils KohlNils Kohlhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/504DG apply testing2022-04-12T09:40:22+02:00Nils KohlDG apply testingNils KohlNils Kohlhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/516Adds test for interpolation with extended expression2022-06-14T17:04:37+02:00Marcus MohrAdds test for interpolation with extended expressionMarcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/529Implement AffineMap[23]D::evalFinv() amd fix/extend AffineMap3DTest2022-10-25T21:55:36+02:00Marcus MohrImplement AffineMap[23]D::evalFinv() amd fix/extend AffineMap3DTestMarcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/554Add N1curlFenicsForm class and n1Curl_tet_mass form for testing2022-12-21T10:42:26+01:00Marcus MohrAdd N1curlFenicsForm class and n1Curl_tet_mass form for testingCommit extends the FFC build files to allow generation of a mass form for
3D for Nedelec H(curl) elements (of the first kind). It also adds the
resulting form. The latter, is integrated into the HyTeG code structure
by adding a correspon...Commit extends the FFC build files to allow generation of a mass form for
3D for Nedelec H(curl) elements (of the first kind). It also adds the
resulting form. The latter, is integrated into the HyTeG code structure
by adding a corresponding class and included into the HyTeGVsFenicsFormTest
to compare it to the N1E1FormMass form.Marcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/590Extend VTKOutputTest2023-04-28T14:17:35+02:00Marcus MohrExtend VTKOutputTestExtend `VTKOutputTest` to also check that exporting works for objects of type
| type | dimensions | ValueType |
| ------------ | ---------- | ----------------- |
| P0Function | 2D + 3D | real_t + integral |
| DG1Fun...Extend `VTKOutputTest` to also check that exporting works for objects of type
| type | dimensions | ValueType |
| ------------ | ---------- | ----------------- |
| P0Function | 2D + 3D | real_t + integral |
| DG1Function | 2D + 3D | real_t |
| EGFunction | 2D | real_t |
| N1E1Function | 3D | real_t |
and make `VTKOutput` abort for `EGFunction` on a 3D mesh. With respect to integral ValueType see also the discussion in issue #210 and for the `EGFunction` export see issue #211.Nils KohlNils Kohlhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/631Add testing of export of 2D surfaces in 3D with AdiosWriter2023-07-25T21:27:52+02:00Marcus MohrAdd testing of export of 2D surfaces in 3D with AdiosWriterExtend capabilities for exporting data by adding support for ADIOS2Marcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/633Add test for FEFunctionRegistry class2023-07-25T23:05:06+02:00Marcus MohrAdd test for FEFunctionRegistry classImplement basic Checkpointing FunctionalityMarcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/645Enable ADIOS2-based tests in pipepline2023-09-11T17:18:57+02:00Marcus MohrEnable ADIOS2-based tests in pipeplineI recently recognised that, while we prepared the images for the pipeline jobs to include ADIOS2, the actual tests were not running, because `HYTEG_BUILD_WITH_ADIOS2` had not been activated. This MR will change this. By default jobs will...I recently recognised that, while we prepared the images for the pipeline jobs to include ADIOS2, the actual tests were not running, because `HYTEG_BUILD_WITH_ADIOS2` had not been activated. This MR will change this. By default jobs will now build with ADIOS2. The only current exception is the `clang_15_mpionly_petsc_trilinos` in the **pretest** stage. IMHO at least one job should not include ADIOS2 to ensure we can build without this optional dependency.Implement basic Checkpointing FunctionalityMarcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/650Temporarily deactivate ADIOS2 tests for old ICC compiler2023-09-14T13:38:18+02:00Marcus MohrTemporarily deactivate ADIOS2 tests for old ICC compilerSee discussion of issue #228 for details.See discussion of issue #228 for details.Marcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/672Extend OpGen tests to allow operators of different precision/ValueType2024-01-31T11:04:49+01:00Michael ZikeliExtend OpGen tests to allow operators of different precision/ValueTypeThis MR should enable testing for operators of different precision than float64.
To do so,
* Compatibility checks must consider a function from the same space but with different precision as the same function, i.e. `is_same` check.
* ...This MR should enable testing for operators of different precision than float64.
To do so,
* Compatibility checks must consider a function from the same space but with different precision as the same function, i.e. `is_same` check.
* For each `ValueType`, an individual error acceptance limit must be chosen.
**Note**: Testing for different precisions is done only for `P1` function space, since this is the only function space for which other precisions than `float` and `double` are working yet. Also, Only `apply` and `invDiag` are tested.
_(The `invDiag` Test in `2D` for `float32` and `float16` returns exactly zero, not a really small number. This is not reasonable, but no reason for this can be found. Thus, this behavior is accepted right now, since at the moment only apply is needed for mixed precision investigations and with those everything works. This behavior should be kept in mind, though.)_
---
TODO:
- [ ] Merge the changes from [pystencils !2](https://i10git.cs.fau.de/terraneo/pystencils/-/merge_requests/2) and [HFG !57](https://i10git.cs.fau.de/terraneo/hyteg-form-generator/-/merge_requests/57), so that all necessary functionality can be generated.
- [ ] ~~Find a more scientific way to choose an acceptance limit for the individual errors.~~
- [x] Add the generated operators that need testing to the repository and the respective `.cpp` files.
---
Note: all changes that are done before the 20.12.2023 are related to !671 which is currently in the process of merging. **So don't mind any commit that is older than c9f959db76610cf32ad4c67505bc3ceba31086ac!**Michael ZikeliMichael Zikelihttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/671Enable float16 support for the P1 functionspace2024-02-13T18:29:24+01:00Michael ZikeliEnable float16 support for the P1 functionspaceHyTeG was not able to work with float16 types. This merge request fixes this by adding the missing functionality for the P1 functionspace.
Necessary changes:
- [x] Template and explicit instantiate the following kernels that have been ...HyTeG was not able to work with float16 types. This merge request fixes this by adding the missing functionality for the P1 functionspace.
Necessary changes:
- [x] Template and explicit instantiate the following kernels that have been generated at some point <add, apply, assign, communicate>. The other two kernel types <GS and SOR> have not been templated yet, since they are not used for the generated operators.
- [x] Set standard to C++23 if half precision support is enabled, otherwise some basic asserts like `is_floating_point` will fail.
- [x] Add test that check if all necessary functionality of float16 is working properly.
- [x] Update walberla to support float16 support.
- [x] Make sure that `WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT` is enabled in the pipeline.
- [x] Make sure that the remote on the submodule walberla is the walberla repo and not a local fork.
- [x] Test the implementation and float16SupportTest for older compilers as well.
- [x] Some of the now templated kernels use copy by value, while reference is sufficient. Go back and add references.
- [x] Update the license in the modified files.
---
This merge request is dependent on the walberla merge request [!643](https://i10git.cs.fau.de/walberla/walberla/-/merge_requests/643).Michael ZikeliMichael Zikeli