dumux merge requestshttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests2018-01-25T17:34:08Zhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/755Feature/improve point source handling2018-01-25T17:34:08ZTimo Kochtimokoch@math.uio.noFeature/improve point source handlingIntroduces a getter for the point source map which is needed at least in the context of multidomain problems.Introduces a getter for the point source map which is needed at least in the context of multidomain problems.3.0Dennis GläserDennis Gläserhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/757[assembly][analytic] Get source derivative per default from problem2018-01-25T17:37:35ZTimo Kochtimokoch@math.uio.no[assembly][analytic] Get source derivative per default from problem3.0Dennis GläserDennis Gläserhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/759[io][gridcreator] Make construction of tensorgrid more flexible2018-01-26T11:05:57ZKilian Weishaupt[io][gridcreator] Make construction of tensorgrid more flexible* Add a public method taking the positions, cells and the grading
vectors as arguments.
* The general makeGrid() method now extracts the necessary parameters from
the input file and calls the new method with them
* The new method can...* Add a public method taking the positions, cells and the grading
vectors as arguments.
* The general makeGrid() method now extracts the necessary parameters from
the input file and calls the new method with them
* The new method can be useful in cases where a tensorgrid should
be constructed not based on input file data, but on different ones,
e.g. evalutated by a user specified algorithm3.0Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/761[geometry] Make backward compatible with dune 2.52018-01-29T11:51:54ZTimo Kochtimokoch@math.uio.no[geometry] Make backward compatible with dune 2.53.0https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/777[linearSolver] Add version check to avoid deprecation warning2018-02-02T15:56:26ZKilian Weishaupt[linearSolver] Add version check to avoid deprecation warning* dune-istl has unified SeqILU0 and SeqILUn to SeqILU* dune-istl has unified SeqILU0 and SeqILUn to SeqILU3.0Dennis GläserDennis Gläserhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/781Feature/mpnc 2p2c comparison2018-02-05T12:22:55ZTimo Kochtimokoch@math.uio.noFeature/mpnc 2p2c comparison3.0Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/771Rename Problem-TypeTags to end in TypeTag in folders test and tutorial.2018-02-07T17:38:32ZMelanie LippRename Problem-TypeTags to end in TypeTag in folders test and tutorial.closes #413 closes #413 3.0Kilian WeishauptKilian Weishaupthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/787[doxygen][fluidsystems] Fix erroneous formula2018-02-09T09:21:13ZThomas Fetzer[doxygen][fluidsystems] Fix erroneous formula3.0Simon EmmertSimon Emmerthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/775Feature/mixeddim box2018-02-09T10:22:47ZKilian WeishauptFeature/mixeddim box3.0Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/773[impes] Remove grid singleton from problem2018-02-12T10:01:21ZKilian Weishaupt[impes] Remove grid singleton from problemsee #431. Prepares sequential model (using old style main files) for times without a grid singleton.
We pass a non-const reference to the grid to the problem. Now the `Grid` property is used less (it can be anywhere extracted from the G...see #431. Prepares sequential model (using old style main files) for times without a grid singleton.
We pass a non-const reference to the grid to the problem. Now the `Grid` property is used less (it can be anywhere extracted from the GridView type) and the Grid singleton is only accessed once in the main file, so it can be easily replaced.3.0Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/745[navierstokes] Improve flux variables2018-02-12T13:38:21ZKilian Weishaupt[navierstokes] Improve flux variables* add upwind weight for mass and momentum
* improve readability
- [x] improve docu
* add upwind weight for mass and momentum
* improve readability
- [x] improve docu
3.0Thomas FetzerThomas Fetzerhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/790[test][freeflowMaxwellStephan] Fix test2018-02-12T15:10:33ZKilian Weishaupt[test][freeflowMaxwellStephan] Fix test [test][freeflowMaxwellStefan] Fix test
* this is the only test that failed after the changes in momentum upwind, thus the use of inertia terms is disabled
* do some clean-up
depends on !745 [test][freeflowMaxwellStefan] Fix test
* this is the only test that failed after the changes in momentum upwind, thus the use of inertia terms is disabled
* do some clean-up
depends on !7453.0Kilian WeishauptKilian Weishaupthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/762Feature/unify newtoncontrollers2018-05-30T08:46:12ZKilian WeishauptFeature/unify newtoncontrollersAdds `NewtonSolver` class that replaces the existing `NewtonMethod` and `NewtonController` classes.
The old classes are still there for backward compatibility and are deprecated.
Tests can use the new Newton solver but still compil...Adds `NewtonSolver` class that replaces the existing `NewtonMethod` and `NewtonController` classes.
The old classes are still there for backward compatibility and are deprecated.
Tests can use the new Newton solver but still compile with the old one, yielding a deprecation warning.3.0Bernd FlemischBernd Flemischhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/794[nonlinear][NewtonSolver] Fix compilation with g++52018-02-13T15:19:33ZKilian Weishaupt[nonlinear][NewtonSolver] Fix compilation with g++5There seems to be a bug in g++5 which which prevents compilation when
defining the call to the implementation directly to Dune::Hybrid::forEach.
We therefore store this call in a lambda and pass it to the
for loop afterwards.
fixes #445There seems to be a bug in g++5 which which prevents compilation when
defining the call to the implementation directly to Dune::Hybrid::forEach.
We therefore store this call in a lambda and pass it to the
for loop afterwards.
fixes #4453.0Bernd FlemischBernd Flemischhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/791Feature/variable eps2018-02-14T10:15:29ZTimo Kochtimokoch@math.uio.noFeature/variable epsFor some problems, especially for linear problems and zero initial value problems, we want to be able to set a constant epsilon per primary variable for numeric differentiation.
This introduces a new epsilon class that reads two param...For some problems, especially for linear problems and zero initial value problems, we want to be able to set a constant epsilon per primary variable for numeric differentiation.
This introduces a new epsilon class that reads two parameters from the input file
* Assembly.NumericDifference.PriVarMagnitude
* Assembly.NumericDifference.BaseEps
the magnitude is a vector with the number of privars as size, base eps (optional) is a scalar (default 1e-10).
If nothing is set it default to the old behaviour (trying to estimate the magnitude from the primary variable at the d.o.f the residual is assembled at (which leads to different epsilons in different cells).
For multidomain problems those parameters can be set per TypeTag / ModelParameterGroup.3.0Kilian WeishauptKilian Weishaupthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/797[typetraits] Implement isValid function to generate class member introspectio...2018-02-14T15:29:25ZTimo Kochtimokoch@math.uio.no[typetraits] Implement isValid function to generate class member introspection functors* isValid can be used to generate a functor that can check whether an operation done with a type is valid
* this patch also provides examples in form of a test and documentation* isValid can be used to generate a functor that can check whether an operation done with a type is valid
* this patch also provides examples in form of a test and documentation3.0Kilian WeishauptKilian Weishaupthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/798Feature/1d3d richards 1p test2018-02-16T15:52:14ZTimo Kochtimokoch@math.uio.noFeature/1d3d richards 1p test3.0Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/801[partialreassembler][fixup] Make compile for all discretization + easier to a...2018-02-19T22:08:20ZTimo Kochtimokoch@math.uio.no[partialreassembler][fixup] Make compile for all discretization + easier to add new ones.Partial reassembler didn't compile for staggered disc. This fix makes it easier to implement a reassembler for new discretizations.
If merged this should also be squashed into the main commit as otherwise staggered doesn't compile.
...Partial reassembler didn't compile for staggered disc. This fix makes it easier to implement a reassembler for new discretizations.
If merged this should also be squashed into the main commit as otherwise staggered doesn't compile.
@bernd: FinalizeAssembly reset the vertex colors to green. This is now done at the beginning of compute colors. Is this the same? For the first iterations all dofs are red anyway and between `finalizeAssembly` and `computeColors` nothing changes in the reassembler, right?3.0Bernd FlemischBernd Flemischhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/796[assembly][newton] reimplement partial reassembly2018-02-20T10:33:17ZBernd Flemisch[assembly][newton] reimplement partial reassemblyTransfer the partial reassembly functionality to the current
structure.
On the topmost level, the `NewtonSolver` uses the functionality
in the methods `solve`, `newtonUpdate` and `assembleLinearSystem`
by calls to new methods `asse...Transfer the partial reassembly functionality to the current
structure.
On the topmost level, the `NewtonSolver` uses the functionality
in the methods `solve`, `newtonUpdate` and `assembleLinearSystem`
by calls to new methods `assemblerResetColors_`,
`assemblerNewtonUpdate_` and `assembleLinearSystem_`. In these
new methods, new member functions of the `FVAssembler` are called:
`resetColors`, `updateDistanceFromLastLinearization` and
`computeColors` as well as `assembleJacobianAndResidual` with a
second argument. Use SFINAE and `enable_if` such that not all
assemblers are required to implement the extended interface.
The `FVAssembler` forwards the work to a new class
`PartialReassembler`. This class also holds the required data.
After each Newton iteration, the `PartialReassembler` colors the
geometrical degrees of freedom depending on the shift of the
primary variables from the last time that the derivatives have been
calculated. For green-colored entities, the entries in the Jacobian
are kept, while for the other entities, they are recalculated.
Use an enum class `EntityColor` for the coloring, enable read
access to the color of an entity via the Assembler.
Implement the functionality for Box and TPFA. The correspnding
local assemblers have to be adapted such that no calculations are
performed for green elements.
Still missing (while also not present in Dumux 2.x):
- [x] Parametrize the thresholds in the `NewtonSolver`
- [x] Throw if called with mpfa
Fixes #379.3.0Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/803[staggeredlocalResidual] Adapt to structure of cc/box2018-02-20T15:04:09ZKilian Weishaupt[staggeredlocalResidual] Adapt to structure of cc/box3.0Kilian WeishauptKilian Weishaupt