hyteg merge requestshttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests2019-07-17T12:42:45+02:00https://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/240[WIP] mohr/integrate general forms into master2019-07-17T12:42:45+02:00Marcus Mohr[WIP] mohr/integrate general forms into masterHi,
working on issue #99. Things that need to be done:
- [x] merge general forms into master fixing merging issues
- [x] make sure compilation of framework, apps and tests works
- [x] implement parts that are missing for assembling P2 ...Hi,
working on issue #99. Things that need to be done:
- [x] merge general forms into master fixing merging issues
- [x] make sure compilation of framework, apps and tests works
- [x] implement parts that are missing for assembling P2 stencils in 3D
- [x] make sure there are no more errors in test suite
Cheers
MarcusMarcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/625Draft: Move Table and KeyValueStore to a central place2023-07-18T09:35:57+02:00Daniel BauerDraft: Move Table and KeyValueStore to a central place`Table` and `KeyValueStore` can be used to write data in HyTeG apps/tests such that they can be later directly included in LaTeX code.
See the docstrings for example usages.
This MR documents the existing classes and moves them to `src/...`Table` and `KeyValueStore` can be used to write data in HyTeG apps/tests such that they can be later directly included in LaTeX code.
See the docstrings for example usages.
This MR documents the existing classes and moves them to `src/hyteg/dataexport`.
Before, they were hidden away in `apps/2023-bauer-mt`.Daniel BauerDaniel Bauerhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/545Issue #181: Modify Matrix and PointND classes2022-12-01T11:27:14+01:00Marcus MohrIssue #181: Modify Matrix and PointND classesIn light of issue #181 this commit changes the implementation details
of the Matrix and PointND classes, while leaving their API basically
unchanged.
The major switch is that both classes now use an Eigen::Matrix object
to store their d...In light of issue #181 this commit changes the implementation details
of the Matrix and PointND classes, while leaving their API basically
unchanged.
The major switch is that both classes now use an Eigen::Matrix object
to store their data instead of the previous static 1D array of type T.
This allows to delegate all the algebraic operations to the Eigen
library and makes certain operations also available for dimensions for
which so far they had not been implemented.Marcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/455Make P2P1TaylorHoodFunction child of BlockFunction2021-10-14T16:37:21+02:00Marcus MohrMake P2P1TaylorHoodFunction child of BlockFunctionThe merge makes the ```P2P1TaylorHoodFunction``` and the ```P1CahnHilliardFunction``` children of ```BlockFunction```. The
```FunctionWrapper``` class is adapted, so that we can keep ```uvw``` and ```p``` as members of the ```P2P1TaylorH...The merge makes the ```P2P1TaylorHoodFunction``` and the ```P1CahnHilliardFunction``` children of ```BlockFunction```. The
```FunctionWrapper``` class is adapted, so that we can keep ```uvw``` and ```p``` as members of the ```P2P1TaylorHoodFunction```, similar for the ```P1CahnHilliardFunction```. Thus, we do not need to adapt the operators, solvers, ..., yet.
Note that we need to explicitely define a copy constructor in the children to take care of setting the entries in the ```subFuncs_``` vector inherited from the ```BlockFunction``` parent. Otherwise nasty memory errors will occur.Marcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/404New VectorFunction classes and hierarchy2021-04-01T13:18:09+02:00Marcus MohrNew VectorFunction classes and hierarchyThe merge will resolve issue #142. Especially it will bring a new class hierarchy for vector-valued functions. The associated base class provides most of the methods we find in our ```P1Function``` and ```P2Function``` classes, but allow...The merge will resolve issue #142. Especially it will bring a new class hierarchy for vector-valued functions. The associated base class provides most of the methods we find in our ```P1Function``` and ```P2Function``` classes, but allow to directly operate on vector functions, which means we can e.g. write
```
f.uvw.multElementwise( { f.uvw, outwardNormal.uvw }, l );
f.uvw.assign( { rayleighNumber }, { f.uvw }, l, All );
```
instead of the previous
```
f.uvw.u.multElementwise( {f.uvw.u, outwardNormal.uvw.u}, l );
f.uvw.v.multElementwise( {f.uvw.v, outwardNormal.uvw.v}, l );
f.uvw.w.multElementwise( {f.uvw.w, outwardNormal.uvw.w}, l );
f.uvw.u.assign( {rayleighNumber}, {f.uvw.u}, l, All );
f.uvw.v.assign( {rayleighNumber}, {f.uvw.v}, l, All );
f.uvw.w.assign( {rayleighNumber}, {f.uvw.w}, l, All );
```
Access to indiviudal scalar component functions is supported, e.g. via operator[]. This allows implementing loops based on the
return value of the ```getDimension()``` method.
```
for ( uint_t k = 0; k < function.uvw.getDimension(); k++ )
{
prolongationOperator_.prolongate( function.uvw[k], sourceLevel, flag );
}
```
which is important, since we do not provide a **dummy** third component for 2D vector functions.
The implementation relies on CRTP as our scalar functions do and as we discussed for the proposed **block functions**.
There is a first draft for a ```VectorToVector``` operator. But that only provides ```apply()``` as method and is not really used, yet.
This merge will bring many changes, so please take a look at it (and approve :sweat_smile:)
Cheers
MarcusMarcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/616Remove useVTKQuadratic[Triangle|Tetra]_ from VTKOutput class2023-06-23T09:26:00+02:00Marcus MohrRemove useVTKQuadratic[Triangle|Tetra]_ from VTKOutput classThe merge removes the two attributes and associated getter/setter methods from the VTKOutput class. They had been introduced as part of the transition to write P2Elements as such and not as P1Elements on a refined mesh, see also !594. Wi...The merge removes the two attributes and associated getter/setter methods from the VTKOutput class. They had been introduced as part of the transition to write P2Elements as such and not as P1Elements on a refined mesh, see also !594. With this we also remove support for the old approach and the associated tests.Marcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/560Upgrade in the plates module in assigning plates to points2023-01-24T16:13:26+01:00Berta VilacĂsUpgrade in the plates module in assigning plates to pointsThe function point-in-polygon that finds which plate belongs the point has been upgraded.
Now, it uses the coordinates lon, lat and places the point and the polygon at the surface of a sphere using the boost library. It also calculates ...The function point-in-polygon that finds which plate belongs the point has been upgraded.
Now, it uses the coordinates lon, lat and places the point and the polygon at the surface of a sphere using the boost library. It also calculates the distance from the point to the polygon using the functionalities of the boost library.
Each point has a unique solution to the polygon that belongs to.
Also we generalised plates, such as, internally it does the conversion from xyz to lon lat coordinate system, allowing the user to pass in any xyz point in any radius.
The dependency of plates to CGAL has been removed and such the cmake files have been modified.
(commits 1a46caad50806b576b2fb1d63f2efe8a32ab5015, 0c7ed8c551c039a006aa366355edc7edbe66d72a and 244525a91244f11250b68ead35ea1abf27696a63)https://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/211WIP: Resolve "Implementation of meshing for spherical shell"2019-02-15T14:29:31+01:00Marcus MohrWIP: Resolve "Implementation of meshing for spherical shell"Closes #90Closes #90https://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/302WIP: Resolve "Suggestion to rename createMatrixFromFunction()"2020-01-28T21:58:35+01:00Marcus MohrWIP: Resolve "Suggestion to rename createMatrixFromFunction()"Closes #119Closes #119