dumux merge requestshttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests2018-02-05T12:22:55Zhttps://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/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/789Feature/mixed dim staggered2018-05-02T09:17:19ZKilian WeishauptFeature/mixed dim staggered3.0Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://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/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/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/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/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/803[staggeredlocalResidual] Adapt to structure of cc/box2018-02-20T15:04:09ZKilian Weishaupt[staggeredlocalResidual] Adapt to structure of cc/box3.0Kilian WeishauptKilian Weishaupthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/804[WIP] feature/minTutorial2018-07-16T14:29:06ZSimon Emmert[WIP] feature/minTutorialThis is supposed to be a "new" tutorial making use of the mineralization module.
* [x] fix poro/perm law (related to #449 )
* [x] add Tensor Permeability to have it as a reference case here
* [x] doc properly (especially kozeny-carma...This is supposed to be a "new" tutorial making use of the mineralization module.
* [x] fix poro/perm law (related to #449 )
* [x] add Tensor Permeability to have it as a reference case here
* [x] doc properly (especially kozeny-carman, laws, spatialParams)
* [x] cleanup
* [x] go through ``biomin.hh`` fluidsystem again and check if all functions are really necessary
* [ ] Remove solid stuff from fluid system and use the new solid systems 3.0Johannes HommelJohannes Hommelhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/805[material] Move all components to namespace Components2018-02-22T13:54:10ZTimo Kochtimokoch@math.uio.no[material] Move all components to namespace Componentsthe constant component is already in the `Components` namespace. It makes sense similar to the namespace `FluidSystems`, especially as there might be even nameclashes between classes in `Components` and `FluidSystems`, e.g. there might b...the constant component is already in the `Components` namespace. It makes sense similar to the namespace `FluidSystems`, especially as there might be even nameclashes between classes in `Components` and `FluidSystems`, e.g. there might be in the future a fluid system `Air` consisting of components N2, O2, CO2, Ar, conflicting with the (pseudo-)component `Air`.
Fixes #375.3.0Bernd FlemischBernd Flemischhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/806[discretization] Rename DiscretizationMethods to DiscretizationMethod with lo...2020-02-17T17:28:22ZTimo Kochtimokoch@math.uio.no[discretization] Rename DiscretizationMethods to DiscretizationMethod with lower-case fieldsFixes #444.Fixes #444.3.0Bernd FlemischBernd Flemischhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/807Feature/improve math functions2018-02-26T11:00:20ZTimo Kochtimokoch@math.uio.noFeature/improve math functionsRelates to #441.Relates to #441.3.0Kilian WeishauptKilian Weishaupthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/808[staggered][faceVariables] Retrive boundary values in fluxVars2018-03-09T10:10:49ZKilian Weishaupt[staggered][faceVariables] Retrive boundary values in fluxVars* get the values for parallel and normal velocities directly in the
fluxVars and not during the update of the faceVars
* this is necessary in the context of coupling when the velocities on the
boundary shall be inferred from the o...* get the values for parallel and normal velocities directly in the
fluxVars and not during the update of the faceVars
* this is necessary in the context of coupling when the velocities on the
boundary shall be inferred from the other domain
* the gridFaceVars are initialized (and thus updated)
before any coupling context can be bound so this update step
must not depend on some coupled context3.0Kilian WeishauptKilian Weishaupthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/812[material] Fix alias introduced for deprecation to have default templ arg2018-02-27T13:47:24ZTimo Kochtimokoch@math.uio.no[material] Fix alias introduced for deprecation to have default templ arg3.0https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/813[component] Split interface into solid, liquid, gas2018-02-28T20:22:42ZTimo Kochtimokoch@math.uio.no[component] Split interface into solid, liquid, gasFixes #452.Fixes #452.3.0Bernd FlemischBernd Flemischhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/816[newton] Reimplement timestep control2018-03-01T08:15:08ZTimo Kochtimokoch@math.uio.no[newton] Reimplement timestep controlThere are now two solve function overloads, on without timeLoop that does one newton run,
and one with a timeloop that decreases the time step and tries again.
This makes the main file shorter and the newtoncontroller doesn't need a tim...There are now two solve function overloads, on without timeLoop that does one newton run,
and one with a timeloop that decreases the time step and tries again.
This makes the main file shorter and the newtoncontroller doesn't need a timeloop in the constructor anymore.3.0Kilian WeishauptKilian Weishaupthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/817WIP: Feature/solidsystem2018-05-08T13:16:41ZTimo Kochtimokoch@math.uio.noWIP: Feature/solidsystemPrototype for a solid system and a solid component, see #453.Prototype for a solid system and a solid component, see #453.3.0