dumux merge requestshttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests2020-12-14T00:07:50Zhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2398[flux][tpfa][fickslaw] Add flux overload taking inside/outside volVars explicitly2020-12-14T00:07:50ZKilian Weishaupt[flux][tpfa][fickslaw] Add flux overload taking inside/outside volVars explicitlyTimo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2294WIP: Add Trilinos solvers2023-12-13T10:52:19ZBernd FlemischWIP: Add Trilinos solversAdd 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/2276WIP: [test][1p] Add 3d convergence test2023-12-13T10:52:17ZTimo Kochtimokoch@math.uio.noWIP: [test][1p] Add 3d convergence testAdds 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 SchneiderMartin Schneiderhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2253[WIP] Feature/nonlinear schemes2023-07-20T13:17:36ZTimo Kochtimokoch@math.uio.no[WIP] Feature/nonlinear schemeshttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2239assemble matrix only once in the linear pde solver2021-04-29T07:00:09ZBernd Flemischassemble matrix only once in the linear pde solverSo far, the `LinearPDESolver` (re)assembles the matrix in its
`solve` function unconditionally. This might be unnecessary if the
matrix did not change compared to the previous call to `solve`.
Make a first attempt to avoid the unnecessar...So far, the `LinearPDESolver` (re)assembles the matrix in its
`solve` function unconditionally. This might be unnecessary if the
matrix did not change compared to the previous call to `solve`.
Make a first attempt to avoid the unnecessary calculation by
adding a corresponding control flag.Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2225[md][facet][box] allow for mixed bcs2020-08-07T14:32:29ZDennis Gläser[md][facet][box] allow for mixed bcsThis introduces the same changes as in 4d9fa1f036aabdeda5ea5470309c84936b1f1282 for the standard box scheme.This introduces the same changes as in 4d9fa1f036aabdeda5ea5470309c84936b1f1282 for the standard box scheme.https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2203WIP: [test] Add Karman vortex street application2023-12-13T10:52:18ZTimo Kochtimokoch@math.uio.noWIP: [test] Add Karman vortex street applicationRuns 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 !1989https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2201[WIP] Feature/new staggered impl2023-12-13T10:52:21ZKilian 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 #756Kilian WeishauptKilian Weishaupthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2137WIP: [newton] Generalize Newton implementation for different solution types2021-03-24T16:18:08ZTimo Kochtimokoch@math.uio.noWIP: [newton] Generalize Newton implementation for different solution types* [x] Extract Privarswitch logic/implementation into separate class
* [ ] Extract partial reassembler logic into seperate class
* [ ] Provide external helpers for relative shift* [x] Extract Privarswitch logic/implementation into separate class
* [ ] Extract partial reassembler logic into seperate class
* [ ] Provide external helpers for relative shifthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2130WIP Feature/finite element method2023-12-13T10:52:17ZDennis GläserWIP Feature/finite element methodThis 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/2126[WIP] Feature/ff stokes reverse coupling2023-12-13T10:52:17ZKilian 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 !2133Kilian WeishauptKilian Weishaupthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2120WIP: Feature/add turbulent diffusion to shallow water model2020-09-16T13:01:04ZFrank PlatzekWIP: Feature/add turbulent diffusion to shallow water model<!--
Thanks for sending a merge request!
If this is your first time, read our [contributing guidelines](/CONTRIBUTING.md)
-->
**Adding (turbulent) diffusion to the shallow water model (part of freeflow)**:
For now using constant eddy-...<!--
Thanks for sending a merge request!
If this is your first time, read our [contributing guidelines](/CONTRIBUTING.md)
-->
**Adding (turbulent) diffusion to the shallow water model (part of freeflow)**:
For now using constant eddy-viscosity. Turbulence models will be added in separate issues. The implementation also contains 2 wall shear stress implementations:
1. no-slip implementation
2. law-of-the-wall implementation
One test has been added: Poiseuille flow test: for flow in a channel with rough side walls.
This test has an analytical solution.
**Which issue this MR fixes**:
#706
**Special notes for your reviewer**:
N/Ahttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2096[test][1p] Use class template deduction for type of LinearPDESolve2020-06-24T08:38:42ZTimo Kochtimokoch@math.uio.no[test][1p] Use class template deduction for type of LinearPDESolveAccording to https://en.cppreference.com/w/cpp/compiler_support this should work with GCC 7 & Clang 5. But we should test this is bit.According to https://en.cppreference.com/w/cpp/compiler_support this should work with GCC 7 & Clang 5. But we should test this is bit.Dennis GläserDennis Gläserhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2012[WIP] TEMP: first draft of new staggered fvgridgeometry2023-02-19T23:24:45ZKilian Weishaupt[WIP] TEMP: first draft of new staggered fvgridgeometryThis is a first prototype for a "real" staggered fvGeometry.
Results of discussion so far:
* staggered fvGeometry contains 4 (2D quad cells) scvs and 12 scvfsThis is a first prototype for a "real" staggered fvGeometry.
Results of discussion so far:
* staggered fvGeometry contains 4 (2D quad cells) scvs and 12 scvfshttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2001[WIP] Feature/python fluidsystem2023-12-13T10:52:21ZKilian Weishaupt[WIP] Feature/python fluidsystemThis 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 WeishauptKilian Weishaupthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/1839Added first version of generic factory using istl solver factory.2020-01-29T18:50:49ZMarkus BlattAdded first version of generic factory using istl solver factory.*Adds a generic backend that is configurable via parameters:
~~**This is still work in progress and not fully tested, yet. Compiles, did not test running yet.**~~
*Based on [MR 349 in dune-istl](https://gitlab.dune-project.org/core...*Adds a generic backend that is configurable via parameters:
~~**This is still work in progress and not fully tested, yet. Compiles, did not test running yet.**~~
*Based on [MR 349 in dune-istl](https://gitlab.dune-project.org/core/dune-istl/merge_requests/349)
Configuration parameters (Dumux style are)
- `Verbosity`
- `MaxIterations`
- `ResidualReduction`
- `Type`
- `Restart`
- `MaxOrthogonalizationVectors`
- `PreconditionerVerbosity`
- `PreconditionerType`
- `PreconditionerIterations`
- `PreconditionerRelaxation`
- `ILUOrder`
- `ILUResort`
- `AmgSmootherRelaxation`
- `AmgSmootherIterations`
- `AmgMaxLevel`
- `AmgCoarsenTarget`
- `AmgProlongationDampingFactor`
- `AmgAlpha`
- `AmgBetaAmgAdditive`
- `AmgGamma`
- `AmgPreSmoothingSteps`
- `AmgPostSmoothingSteps`
- `AmgCriterionSymmetric`
- `AmgStrengthMeasure`
- `AmgDiagonalRowIndex`
Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/1821[WIP][md] Implement box staggered coupling2024-06-05T12:52:30ZKilian Weishaupt[WIP][md] Implement box staggered couplingTodos:
- [x] Add test for segment-segment intersection algorithm
- [x] Make segment-segment intersection algorithm more efficient
- [x] Put segment-segment in different MR
- [x] Extract Box-Forchheimer to separate MR
- [x] New BJ test ...Todos:
- [x] Add test for segment-segment intersection algorithm
- [x] Make segment-segment intersection algorithm more efficient
- [x] Put segment-segment in different MR
- [x] Extract Box-Forchheimer to separate MR
- [x] New BJ test (existing test uses indefinite perm. matrix)
- [x] Change convergence script to specify convergence rate
- [ ] It currently only works for `DiffusionCoefficientAveragingType::ffOnly`
- [ ] Maxwell Stefan Diffusion law not yet implemented when using Box
- [ ] Renaming: Use ff/pm instead of stokes/darcy
- [ ] New IC assume specific parameter group "Darcy", generalise this
- [ ] Add missing tests
Suggestions:
- [x] Currently, we retrieve the entire context via `couplingContextVector()`, but the old interface is still there. I would shrink this to only one interface and probably rename it. Currently, there is one context object per coupling segment, so maybe we can find a better name.
- [x] At the moment the coupling segment geometry is stored in both the darcy and the stokes coupling info objects in the mapper. I don't think this is the most memory consuming part of the code, but there is room for memory efficiency improvements.
Fixes #788.Martin SchneiderMartin Schneiderhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/1719[WIP] Improve stokes darcy coupling2020-05-11T07:53:50ZKilian Weishaupt[WIP] Improve stokes darcy couplingFor testing, might not be merged.
__Problems__:
* how to make backwards-compatible?
* solution-dependent Dirichlet?
* Neumann-Neumann / Dirichlet-Dirichlet coupling does not yield the same resultsFor testing, might not be merged.
__Problems__:
* how to make backwards-compatible?
* solution-dependent Dirichlet?
* Neumann-Neumann / Dirichlet-Dirichlet coupling does not yield the same resultsKilian WeishauptKilian Weishaupthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/1600Feature/simple cubic spline2019-05-21T08:22:48ZTimo Kochtimokoch@math.uio.noFeature/simple cubic splineA simple natural cubic spline implementation. Much simpler and more readable than the current spline implementation.
Efficient for interpolation of functions.A simple natural cubic spline implementation. Much simpler and more readable than the current spline implementation.
Efficient for interpolation of functions.Dennis GläserDennis Gläserhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/1596[shallow water] Add friction laws (Manning and Nikuradse)2019-07-01T09:45:38ZMartin Utz[shallow water] Add friction laws (Manning and Nikuradse)close #688 \
The friction laws after Manning and Nikuradse are implemeted.\
The related test uses Mannings law to simulate a normal flow in a rough rectangular channel. Therefore the formula of Gaukler-Manning-Strickler can be used to ...close #688 \
The friction laws after Manning and Nikuradse are implemeted.\
The related test uses Mannings law to simulate a normal flow in a rough rectangular channel. Therefore the formula of Gaukler-Manning-Strickler can be used to obtain the analytical solution.Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.no