hyteg merge requestshttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests2024-03-14T14:51:56+01:00https://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/712Draft: Adding tool for parameter file handling2024-03-14T14:51:56+01:00Eugenio D'AscoliDraft: Adding tool for parameter file handlingFor the handling of parsing, printing and storing relevant parameterisations and corresponding data (e.g. background viscosity profiles) a new tool "ParameterTool.hpp" is available within the src/terraneo/helpers directory.
TerraNeo's u...For the handling of parsing, printing and storing relevant parameterisations and corresponding data (e.g. background viscosity profiles) a new tool "ParameterTool.hpp" is available within the src/terraneo/helpers directory.
TerraNeo's utilised data structures will be available within the directory src/terraneo/helpers in "TerraNeoDataStructures.hpp".
Implementation of the parameter tool allows users to parse and log the parameters file content and provides the possibility to
load and store background profile data (i.e. background viscosity profile). The background profile can be handed over in .json
format or as .txt/.csv file.
With one column containing the depth/radius [km] and the second column containing the physical quantity of interest in SI units.
This should allow us to modularise parameter data handling within convection apps and lets us stay closer to master according to issue #243 .Nils KohlNils Kohlhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/707Draft: Adding tool for temperature initialisation2024-03-14T11:13:40+01:00Eugenio D'AscoliDraft: Adding tool for temperature initialisationFor the temperature initialisation a new tool "InitialisationTool.hpp" is now
available within the src/terraneo/helpers directory. Temperature initialisation is
performed superimposing a distinct amount of white noise or temperature devi...For the temperature initialisation a new tool "InitialisationTool.hpp" is now
available within the src/terraneo/helpers directory. Temperature initialisation is
performed superimposing a distinct amount of white noise or temperature deviations from spherical harmonics onto the reference
temperature profile (currently adiabatic profile). This should allow us to modularise initialisation procedures in convection apps and
lets us stay closer to master according to issue #243 .Nils KohlNils Kohlhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/705Add Stokes benchmarks for annulus and thick spherical shell settings2024-02-22T13:47:51+01:00Marcus MohrAdd Stokes benchmarks for annulus and thick spherical shell settingsThe benchmarks are based on and extend, w.r.t. boundary conditions, those described in [Analytical solutions for mantle flow in cylindrical and spherical shells](https://doi.org/10.5194/gmd-14-1899-2021) by Kramer et al.
Also noteworthy...The benchmarks are based on and extend, w.r.t. boundary conditions, those described in [Analytical solutions for mantle flow in cylindrical and spherical shells](https://doi.org/10.5194/gmd-14-1899-2021) by Kramer et al.
Also noteworthy is the addition of a `PythonCallingWrapper` class.https://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/702Adding an app for analytical benchmarking v32024-02-21T18:47:09+01:00Ponsuganth Ilangovan Ponkumar IlangoAdding an app for analytical benchmarking v3This is in relation to !688 and !701
Rebased with better commit messages.This is in relation to !688 and !701
Rebased with better commit messages.Ponsuganth Ilangovan Ponkumar IlangoPonsuganth Ilangovan Ponkumar Ilangohttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/701Draft: Adding an app for analytical benchmarking v22024-02-21T09:52:11+01:00Ponsuganth Ilangovan Ponkumar IlangoDraft: Adding an app for analytical benchmarking v2This is in relation to !688
As I wasn't sure what caused the pipeline to fail, I branched out from master and added the app again and the pipeline passes, so we could complete this merge request and delete !688This is in relation to !688
As I wasn't sure what caused the pipeline to fail, I branched out from master and added the app again and the pipeline passes, so we could complete this merge request and delete !688Ponsuganth Ilangovan Ponkumar IlangoPonsuganth Ilangovan Ponkumar Ilangohttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/698Add scaling experiments for data structures paper 10.1080/17445760.2023.22668752024-02-21T18:49:25+01:00Daniel BauerAdd scaling experiments for data structures paper 10.1080/17445760.2023.2266875- Adds the scaling experiments at `apps/2023-data-structures`
- Adds a new Torus map which is a simplified version of the Tokamap map (4b6ce45b)
- Fixes an issue with the Tokamak map, where the poloidal angle was determined even at poloi...- Adds the scaling experiments at `apps/2023-data-structures`
- Adds a new Torus map which is a simplified version of the Tokamap map (4b6ce45b)
- Fixes an issue with the Tokamak map, where the poloidal angle was determined even at poloidal radius 0 (caused NaN values) (d2f5891a)
- Introduces a few new forms (which are deprecated by the gen. operators but kept for reproducibility):
- n1e1 $\mathrm{curl}\thinspace\mathrm{curl}\thinspace\boldsymbol{u} + \boldsymbol{u}$, affine and blending
- n1e1 linear form, blending
- p1 diffusion q2, blending
- Includes some scalability improvements:
- Chebyshev smoother: Temporary vectors can be supplied from outside (to allow reuse) (9f5191af)
- n1e1 hybrid smoother: Temporary n1e1 vector can be supplied from outside (to allow reuse) (15f4b7a5)
- FMG: Number of V-cycles can be specified for each level individually (91da7e79)Daniel BauerDaniel Bauerhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/688Draft: Adding an app for analytical benchmarking2024-02-21T09:51:24+01:00Ponsuganth Ilangovan Ponkumar IlangoDraft: Adding an app for analytical benchmarkingThis extra app under the folder `2024-convbench` basically solves the Stokes system for freeslip-freeslip and noslip-freeslip boundary condition cases on a thick spherical shell and calculates the L2 error with the analytical solution. I...This extra app under the folder `2024-convbench` basically solves the Stokes system for freeslip-freeslip and noslip-freeslip boundary condition cases on a thick spherical shell and calculates the L2 error with the analytical solution. It calls python routines inside the `interpolate` function to get the analytical solutions from the `assess` python package. More details on using the app is in `readme.md`.
Major additions would be
1. [`P2P1ElementwiseBlendingFullViscousStokesOperator`](https://i10git.cs.fau.de/hyteg/hyteg/-/blob/ponsuganth/analytical-benchmark-minimal/src/hyteg/elementwiseoperators/P2P1ElementwiseBlendingStokesOperator.hpp?ref_type=heads#L123), which basically uses the full viscous operator forms for the velocity block
- $\eta\left((\nabla u + \nabla u^\top) - \frac{2}{3}\nabla\cdot u\right)$
2. [`PythonCallingWrapper`](https://i10git.cs.fau.de/hyteg/hyteg/-/blob/ponsuganth/analytical-benchmark-minimal/src/hyteg/PythonCallingWrapper.hpp), a simple class to call a Python function which returns a `list` and is returned as an `std::vector`
The next step would be to create a test with this.Ponsuganth Ilangovan Ponkumar IlangoPonsuganth Ilangovan Ponkumar Ilangohttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/666"Modernise" PolarLaplacian app2023-11-17T20:32:12+01:00Marcus Mohr"Modernise" PolarLaplacian appMR makes the app a little simpler by using interpolation with constant values, allows specifying a config file on the command line, adds a
description of what the app does, ...MR makes the app a little simpler by using interpolation with constant values, allows specifying a config file on the command line, adds a
description of what the app does, ...Marcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/584Enriched Galerkin functionspace2023-04-19T19:31:44+02:00Fabian BöhmEnriched Galerkin functionspaceAdds the Enriched Galerkin discretization to HyTeG, contained in directory src/hyteg/egfunctionspace:
- Forms for mass, div, divt, Laplacian and epsilon
- corresponding operators with and without Nitsche-type boundary conditions (Nits...Adds the Enriched Galerkin discretization to HyTeG, contained in directory src/hyteg/egfunctionspace:
- Forms for mass, div, divt, Laplacian and epsilon
- corresponding operators with and without Nitsche-type boundary conditions (Nitsche-operators are preferred due to their symmetry)
- a Stokes-function and operators in directory src/hyteg/composites
- interpolation operators between DG and CG of first degree with P1toDGOperator in directory src/hyteg/dgfunctionspace
- additional addVolumeGhostlayer functionality in vertexDoFFunction required in P1toP0Operator and P0toP1Operator
Two benchmarks with strongy varying viscosity from literature reside in apps/2022-eg-varvisc.
tests/hyteg/egfunctionspace contains tests for operator symmetry, forms, matvec/apply, basic operations of EGFunction and convergence tests.https://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/508Starts a new terraneo module2022-05-05T11:22:40+02:00Marcus MohrStarts a new terraneo moduleAs discussed in the last developer meeting it is time, in light of soon to
come extensions, to start with a separate terraneo module. This is intended
to house code specifically addressing the needs of running mantle convection
models wi...As discussed in the last developer meeting it is time, in light of soon to
come extensions, to start with a separate terraneo module. This is intended
to house code specifically addressing the needs of running mantle convection
models with HyTeG.
This commit starts with the new module and relocates the
SphericalHarmonicsTool into it.Marcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/422App for comparing surrogates and FE stencil weights2021-05-27T20:51:27+02:00Marcus MohrApp for comparing surrogates and FE stencil weightsBesides the app mentioned in the title the merge also brings two convenience functions ```MeshInfo::singleTriangle()``` and ```MeshInfo::singleTetrahedron()```.Besides the app mentioned in the title the merge also brings two convenience functions ```MeshInfo::singleTriangle()``` and ```MeshInfo::singleTetrahedron()```.Marcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/389Fixes / extensions for exportOperatorMatrix app2021-01-19T15:29:28+01:00Marcus MohrFixes / extensions for exportOperatorMatrix appMarcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/376Poisson app with mixed bcs2020-11-10T13:02:15+01:00Marcus MohrPoisson app with mixed bcsMarcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/263Works on PolarLaplacian app2019-09-27T15:39:48+02:00Marcus MohrWorks on PolarLaplacian appReduced code duplication by introducing a linear_solve() function that
get's called for both possible cases (geometryMap and pimpedForm). We
can now also select Gauss-Seidel or CG as solver. Adapted parameter
file.Reduced code duplication by introducing a linear_solve() function that
get's called for both possible cases (geometryMap and pimpedForm). We
can now also select Gauss-Seidel or CG as solver. Adapted parameter
file.Dominik Thoennesdominik.thoennes@fau.deDominik Thoennesdominik.thoennes@fau.dehttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/228mohr/matrixExport2019-04-16T15:06:53+02:00Marcus Mohrmohr/matrixExportHi,
this adds a templated auxilliary function for setting up and exporting the matrix associated to one of our operators and a demo app using it.
Cheers
MarcusHi,
this adds a templated auxilliary function for setting up and exporting the matrix associated to one of our operators and a demo app using it.
Cheers
MarcusNils KohlNils Kohlhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/227Pimps show_mesh app2019-04-15T15:37:32+02:00Marcus MohrPimps show_mesh appAdds output of primitive table via PrimitiveStorage::getGlobalInfo()Adds output of primitive table via PrimitiveStorage::getGlobalInfo()Marcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/226Pimping of show_mesh app2019-04-15T13:35:45+02:00Marcus MohrPimping of show_mesh appAdds output of primitive table via PrimitiveStorage::getGlobalInfo()Adds output of primitive table via PrimitiveStorage::getGlobalInfo()Marcus MohrMarcus Mohrhttps://i10git.cs.fau.de/hyteg/hyteg/-/merge_requests/219Multigrid experiments2019-04-01T11:37:07+02:00Nils KohlMultigrid experimentsNils 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/164Stokes taylor hood uzawa2018-06-28T12:59:12+02:00Nils KohlStokes taylor hood uzawaNils KohlNils Kohl