dumux merge requests
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests
2023-12-13T10:52:22Z
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2913
Draft: Feature/geometry tolerance
2023-12-13T10:52:22Z
Dennis Gläser
Draft: Feature/geometry tolerance
Introduces a central place for geometry tolerance definitions.
Fixes #1091
Introduces a central place for geometry tolerance definitions.
Fixes #1091
Timo Koch
timokoch@math.uio.no
Timo Koch
timokoch@math.uio.no
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2201
[WIP] Feature/new staggered impl
2023-12-13T10:52:21Z
Kilian Weishaupt
[WIP] Feature/new staggered impl
__TODO__
_General:_
- [ ] Fix docu (especially copy and paste errors)
- [ ] Rethink assembly strategy (forward / inverse)?
- [x] Introduce coupling stencils per DOF?
- [x] improve design of "dual" problem
- [x] boundary flux helpers
- [ ...
__TODO__
_General:_
- [ ] Fix docu (especially copy and paste errors)
- [ ] Rethink assembly strategy (forward / inverse)?
- [x] Introduce coupling stencils per DOF?
- [x] improve design of "dual" problem
- [x] boundary flux helpers
- [ ] prohibit Dirichlet for mass model?
- [x] check difference in Jacobian for compressible fluids (channel)
- [x] periodic grids
- [ ] Look into benefits of caching options
- [ ] Add volume work to energy balance
@nedc:
- [x] Set up higher order geometry
- [x] Port the TVD methods
- [x] Add correct checks for various boundary conditions
- [x] Add useful tests for higher order
- [ ] Update and include the rans models
@kweis:
- [x] coupling (staggered-cellcentered)
- [x] implement Beavers-Joseph BC
- [x] Compositional models (1pnc)
@martins
- [ ] Finalize box-staggered coupling (old staggered)
- [ ] Port box-staggered to new staggered
- [ ] Develop new freeflow discretizations (long term)
@hanchuan
- [x] port and test Navier stokes tests (should have been completed already by @kweis)
- [x] port compositional tests (after 1pnc is updated)
- [ ] port stokes-darcy MD tests (after MD is updated)
- [ ] port rans tests (after rans is updated)
fixes #756
Kilian Weishaupt
Kilian Weishaupt
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/3051
Draft: Feature/grid geometry observer
2023-12-13T10:52:21Z
Dennis Gläser
Draft: Feature/grid geometry observer
Allows observing grid geometries such that the observers can be notified in case the grid changes
Allows observing grid geometries such that the observers can be notified in case the grid changes
Timo Koch
timokoch@math.uio.no
Timo Koch
timokoch@math.uio.no
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2001
[WIP] Feature/python fluidsystem
2023-12-13T10:52:21Z
Kilian Weishaupt
[WIP] Feature/python fluidsystem
This is only a proof of concept.
We should decide what types of fluidsystems we want (e.g, 2pnc).
Probably, it also makes sense to create python components.
This is only a proof of concept.
We should decide what types of fluidsystems we want (e.g, 2pnc).
Probably, it also makes sense to create python components.
Kilian Weishaupt
Kilian Weishaupt
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2496
WIP: [linear] matrix converter with reordering
2023-12-13T10:52:20Z
Timo Koch
timokoch@math.uio.no
WIP: [linear] matrix converter with reordering
Would be probably easier if the matrix converter would have a state.
Would be probably easier if the matrix converter would have a state.
Kilian Weishaupt
Kilian Weishaupt
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/141
[WIP] Velocity output for prisms
2023-12-13T10:52:19Z
Kilian Weishaupt
[WIP] Velocity output for prisms
Bernd Flemisch
Bernd Flemisch
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2294
WIP: Add Trilinos solvers
2023-12-13T10:52:19Z
Bernd Flemisch
WIP: Add Trilinos solvers
Add an optional dependency to Trilinos, https://github.com/trilinos/trilinos. Implement a linear solver backend that uses a solver from there.
Add an optional dependency to Trilinos, https://github.com/trilinos/trilinos. Implement a linear solver backend that uses a solver from there.
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2203
WIP: [test] Add Karman vortex street application
2023-12-13T10:52:18Z
Timo Koch
timokoch@math.uio.no
WIP: [test] Add Karman vortex street application
Runs way too long to be a good test. Maybe also a good test case for solvers though. And looks fairly cool
![vortexstreet-small](/uploads/9bf4bcf66398ba24bbaccb32d17a00b2/vortexstreet-small.gif)
Update: I got a big speedup by using the...
Runs way too long to be a good test. Maybe also a good test case for solvers though. And looks fairly cool
![vortexstreet-small](/uploads/9bf4bcf66398ba24bbaccb32d17a00b2/vortexstreet-small.gif)
Update: I got a big speedup by using the SIMPLE-preconditioned BiCGSTABSolver of !1989
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2628
WIP [IMPES][test] Use analytical derivatives
2023-12-13T10:52:18Z
Timo Koch
timokoch@math.uio.no
WIP [IMPES][test] Use analytical derivatives
This test results now in the same solution than the
old IMPES implementation, at least when gravity is neglected.
Related to #869
This test results now in the same solution than the
old IMPES implementation, at least when gravity is neglected.
Related to #869
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/1510
Feature/multidomain auto bind
2023-12-13T10:52:17Z
Dennis Gläser
Feature/multidomain auto bind
I posed this MR into the box-facet-coupling branch so that the diff is easier to read. If we wait for !1492, which itself has to wait for !1431, then we can merge this into master at one point.
@timok, @kweis, maybe you can have a look ...
I posed this MR into the box-facet-coupling branch so that the diff is easier to read. If we wait for !1492, which itself has to wait for !1431, then we can merge this into master at one point.
@timok, @kweis, maybe you can have a look at this. If we want to keep this, we would have to:
- [x] deprecate old interfaces
- [x] change all tests where cm now receives grid variables
- [x] ~~create an issue to remove the deprecated interfaces in all __facet coupling managers__ and the __poroelasticcouplingmanager__ until version 3.2 release~~ (edit Timo: don't need an issue for that)
- [x] update reference to `test_md_facet_tracer_box` (velocity is included now, which tests the MD vel output)
- [x] Put a note in the changelog that scvfs now have to implement `neighbor()`
Fixes #619.
Timo Koch
timokoch@math.uio.no
Timo Koch
timokoch@math.uio.no
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2126
[WIP] Feature/ff stokes reverse coupling
2023-12-13T10:52:17Z
Kilian Weishaupt
[WIP] Feature/ff stokes reverse coupling
__TODO__
- [x] make backwards compatible
- [ ] fix failing tests
- [ ] implement for compositional, compressible flow
depends on !2128 !2133
__TODO__
- [x] make backwards compatible
- [ ] fix failing tests
- [ ] implement for compositional, compressible flow
depends on !2128 !2133
Kilian Weishaupt
Kilian Weishaupt
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2130
WIP Feature/finite element method
2023-12-13T10:52:17Z
Dennis Gläser
WIP Feature/finite element method
This is a first draft of an FEM framework. Currently, major limitations/assumptions are:
* assumes Standard-Galerkin approach
* assumes non-composite dune function space bases
I have tried to incorporate suggestions stemming from the d...
This is a first draft of an FEM framework. Currently, major limitations/assumptions are:
* assumes Standard-Galerkin approach
* assumes non-composite dune function space bases
I have tried to incorporate suggestions stemming from the discussion in #884, in particular it is:
1. The state of the grid variables was always dependent on the problem (e.g. due to BCs) and a current solution. Nevertheless, we had grid variables and problem and cursol as arguments in several assembly-related functions. In particular, we did `assembler.assemble(curSol)`. The assembler introduced here fulfills this interface (for compatibility with NewtonSolver), but does not use curSol. Instead, the assembler is instantiated with grid variables, which are updated with a solution and a problem. Thus, the assembler takes the solution and problem from the grid variables. So, you would want to do `Assembler assembler(gridVariables); assembler.assemble()`. This could help implementing other time stepping schemes, where you create grid variables on different time levels (stages), make an assembler from them and let it assemble the stage. The assembler is basically a copy of `FVAssembler`, which was almost general and non fv-specific. There is one piece of commented code related to parallelism with box (with a todo in the comment) which has to be figured out still.
2. Local assemblers are now a `localView` of the assembler, no which you then call `bind` with only an element. The problem & current solution are extracted from the grid variables with which the assembler was instantiated. This guarantees that a wrong combination of _problem state_, _solution state_ and _grid variables state_ is passed to it.
3. None of the classes use the property system anymore. I wrote a little test solving a poisson equation, which completely works without the property system. See test/discretization/fem/poisson. Therein, a problem and local residual have to be implemented. Currently, I implemented it in a "Dumux conforming" way, also implementing a spatial parameters class that stores the tensor and an "IntegrationPointVariables" class (the equivalent of vol vars in fv schemes), which hold the tensor at an integration point. The test implementation could be simplified very much if the custom local residual simply called `problem.getTensor()` or so - that would get rid of the spatial params and the integration point variables implementations. I did it this way for now to illustrate the complete workflow for implementing a new model and test.
All of this is subject to discussion, and all new headers have "TODOs" all over the place which can be discussed.
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2276
WIP: [test][1p] Add 3d convergence test
2023-12-13T10:52:17Z
Timo Koch
timokoch@math.uio.no
WIP: [test][1p] Add 3d convergence test
Adds a 2d test on a sphere tet grid (`sphere.msh`). I also committed a `sphere_quad.msh` grid which has some nasty distorted quad elements.
Unfortunately I currently get for both grids:
```
Dune::InvalidStateException [decompose:/Users...
Adds a 2d test on a sphere tet grid (`sphere.msh`). I also committed a `sphere_quad.msh` grid which has some nasty distorted quad elements.
Unfortunately I currently get for both grids:
```
Dune::InvalidStateException [decompose:/Users/pumbaa/dune-master/dumux/dumux/discretization/cellcentered/wmpfa/facedatahandle.hh:101]: CoNormal decomposition not found
```
although the tet version of the grid looks fairly nice.
I wanted to use this test to check if it works in 3D.
For now it's only Dirichlet but it should be relatively easy to try Neumann boundaries.
Martin Schneider
Martin Schneider
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/484
[WIP] Feature/ilupack
2023-12-13T10:52:17Z
Kilian Weishaupt
[WIP] Feature/ilupack
* [ ] Update to Dumux 3 (Parameters, Properties, get rid of TypeTag)
* [ ] Update to Dumux 3 (Parameters, Properties, get rid of TypeTag)
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/3569
Draft: Feature/ff pm coupling allow different discretizations
2023-07-26T14:25:19Z
Martin Schneider
Draft: Feature/ff pm coupling allow different discretizations
<!--
SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
SPDX-License-Identifier: CC0-1.0
-->
<!--
Thanks for considering to open a merge request!
Before asking for a review of your MR, please...
<!--
SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
SPDX-License-Identifier: CC0-1.0
-->
<!--
Thanks for considering to open a merge request!
Before asking for a review of your MR, please read the [contributing guidelines](/CONTRIBUTING.md)
-->
**What this MR does / why does DuMux need it**:
To be able to choose different discretization schemes for ff-pm coupling, we need to allow discretization-dependent specializations.
<!--
Is there a corresponding issue? Add "Fixes hashtag issuenumber" which will automatically close the issue when this MR is merged. Add "Related to hashtag issuenumber" if it's related but doesn't fix the issue completely.
-->
**Notes for the reviewer**
TODO: insert text here
<!--
Keep the following TODO list in the merge request description for documentation.
Bullet points marked with _(if not applicable remove)_ may be removed.
-->
Before you request a review from someone, make sure to revise the following points:
- [ ] does the new code follow the [style guide](doc/styleguide.md)?
- [ ] do the test pipelines pass? (see guide on [how to run pipelines for a merge request](https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/wikis/Running-test-pipelines-for-merge-requests))
- [ ] is the code you changed and/or the new code you wrote covered in the test suite? (if not, extend the existing tests or write new ones)
- [ ] does your change affect public interfaces or behavior, or, does it introduce a new feature? If so, document the change in `CHANGELOG.md`.
- [ ] is the list of the header includes complete? ("include what you use")
- [ ] all files have to end with a `\n` character. Make sure there is no `\ No newline at end of file` comment in "Changes" of this MR.
- [ ] (if not applicable remove) are newly introduced or modified physical values/functions backed up with a scientific reference (including doi) in the docs?
- [ ] (if not applicable remove) if the examples are modified, is the documentation regenerated (using [`generate_example_docs.py`](https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/blob/master/examples/generate_example_docs.py))
<!--
The following aspects might also come up during review:
* Does the change reduce the performance of the code (more CPU time or more memory) and is this justified by the benefits
* Does the change improve the performance? (if yes, add this aspect to the MR description)
* Is the code is a gross violation of programming best practices such as DRY (don't repeat yourself / code duplication, see https://de.wikipedia.org/wiki/Don%E2%80%99t_repeat_yourself, the SOLID principles (https://en.wikipedia.org/wiki/SOLID), or the C++ Core Guidelines (https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines)?
* Is the code well-documented, concise, easily readable? (e.g. variables are well-named, the logic is split into small & well-named functions)
-->
3.8
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/3607
[experimental] Implement cached residual variant in test
2023-07-14T14:42:34Z
Timo Koch
timokoch@math.uio.no
[experimental] Implement cached residual variant in test
Implement the timestepping test in a ways that the residuals of the last stage do not have to be recomputed.
This means we also don't have to store the variables of the last step.
Implement the timestepping test in a ways that the residuals of the last stage do not have to be recomputed.
This means we also don't have to store the variables of the last step.
3.8
Timo Koch
timokoch@math.uio.no
Timo Koch
timokoch@math.uio.no
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/3139
Feature/incompressible stokes solver
2023-02-24T22:42:35Z
Timo Koch
timokoch@math.uio.no
Feature/incompressible stokes solver
3.7
Timo Koch
timokoch@math.uio.no
Timo Koch
timokoch@math.uio.no
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2113
WIP: Feature/new istl linear solvers
2023-02-22T11:59:20Z
Timo Koch
timokoch@math.uio.no
WIP: Feature/new istl linear solvers
* [x] Revisit template arguments
* [x] Introduce linear algebra backend or similar to make usage simpler
* [x] Adapt all linear solvers to provide `norm`
* [x] In Newton call `linearSolver->norm(r)` if available otherwise call `assembler...
* [x] Revisit template arguments
* [x] Introduce linear algebra backend or similar to make usage simpler
* [x] Adapt all linear solvers to provide `norm`
* [x] In Newton call `linearSolver->norm(r)` if available otherwise call `assembler->residualNorm();` (depends on !2311 to be merged)
* [x] Deprecate conversion of multitype matrices in Newton (do in solver instead if necessary)
Depends on !2310 to be merged.
The matrix and vector type now have to be known to construct the solver.
This was previously delayed until the solve call but made the structure kind of intransparent because it wasn't really clear which vector type has to come in but only specific types work anyway.
Hard coding the solver hopefully reduces compile times wrt the factory. Also the implementation should be
* more compact than the old backends
* have more runtime option due to parameter tree-based params
* work in parallel as well
If this works out, we would deprecated the old solver backends.
3.7
Timo Koch
timokoch@math.uio.no
Timo Koch
timokoch@math.uio.no
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2012
[WIP] TEMP: first draft of new staggered fvgridgeometry
2023-02-19T23:24:45Z
Kilian Weishaupt
[WIP] TEMP: first draft of new staggered fvgridgeometry
This is a first prototype for a "real" staggered fvGeometry.
Results of discussion so far:
* staggered fvGeometry contains 4 (2D quad cells) scvs and 12 scvfs
This is a first prototype for a "real" staggered fvGeometry.
Results of discussion so far:
* staggered fvGeometry contains 4 (2D quad cells) scvs and 12 scvfs
https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/870
[WIP] Feature/seq coupl
2023-02-19T23:24:05Z
Kilian Weishaupt
[WIP] Feature/seq coupl