dumux merge requestshttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests2021-10-19T11:12:47Zhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2879[flux] Add headers with declarations/primary templates/alias only2021-10-19T11:12:47ZTimo Kochtimokoch@math.uio.no[flux] Add headers with declarations/primary templates/alias only3.5Dennis GläserDennis Gläserhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2876[fcstaggered] Use reference element for index mapping2021-10-18T19:49:37ZTimo Kochtimokoch@math.uio.no[fcstaggered] Use reference element for index mappingSome grid managers only support subIndex for elements.
Using the reference element we obtain the vertex indices
via local index maps.Some grid managers only support subIndex for elements.
Using the reference element we obtain the vertex indices
via local index maps.3.5https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2872[couplingmanager] Use raw pointer to sub-problems2021-10-18T20:59:11ZTimo Kochtimokoch@math.uio.no[couplingmanager] Use raw pointer to sub-problemsThe pointer were previously managed by weak_ptr. As it turns out,
the interface obtaining the sub-problems is called very often in typical applications,
and can impact runtime. We therefore make it more efficient by using raw pointers
an...The pointer were previously managed by weak_ptr. As it turns out,
the interface obtaining the sub-problems is called very often in typical applications,
and can impact runtime. We therefore make it more efficient by using raw pointers
and refrain from using exception handling. In the case that the sub-problem pointers are not set,
an assert will be triggered in debug mode.3.5Dennis GläserDennis Gläserhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2851Feature/test detection cmakelists2021-09-30T14:52:33ZTimo Kochtimokoch@math.uio.noFeature/test detection cmakelistsMark tests as affected if the CMakeLists.txt file changedMark tests as affected if the CMakeLists.txt file changed3.5Dennis GläserDennis Gläserhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2844Feature/discretization tags introduction2021-10-26T18:39:39ZIvan BunticFeature/discretization tags introductionThis MR introduces and uses tags for discretization methods, see [method.hh](https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/blob/feature/discretization-tags-introduction/dumux/discretization/method.hh). Fixes #1054.
The tag...This MR introduces and uses tags for discretization methods, see [method.hh](https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/blob/feature/discretization-tags-introduction/dumux/discretization/method.hh). Fixes #1054.
The tags are introduced in the namespace `DiscretizationMethods` (with s) for each discretization method.
These tags replace the `enum class DiscretizationMethod`. Tags have several advantages over the enum. Each tag is a named type
(see `dumux/common/tag.hh`) so they can for example be used in tag dispatch. Moreover specializing with tags is extensible.
For example we specialize the template `DarcysLawImplementation` for each discretization. When using the enum no new discretization
methods can be added without changing `enum class DiscretizationMethod`. With tags you can make your own tag and specialize a
class for that tag. This means new discretization methods can be developed in a modular fashion. The introduction of tags
involves a couple of non-backwards-compatible changes, mostly in implementation classes that shouldn't affect most users (see below).
The following classes had their template arguments changed from `DiscretizationMethod` to `class`. This mostly affects implementation details.
| File | Namespace | Class/Struct | Comment |
|--------------------------------------------------------------|-------------------------------|------------------------------------------------------------|--------------------------------------------|
| discretization/method.hh | Dumux::DiscretizationMethods | namespace DiscretizationMethods | introduced |
| flux/box/darcyslaw.hh | Dumux | class DarcysLawImplementation | |
| flux/box/fickslaw.hh | Dumux | class FicksLawImplementation | |
| flux/box/forchheimerslaw.hh | Dumux | class ForchheimersLawImplementation | |
| flux/box/fourierslaw.hh | Dumux | class FouriersLawImplementation | |
| flux/box/fourierslawnonequilibrium.hh | Dumux | class FouriersLawNonEquilibriumImplementation | |
| flux/box/maxwellstefanslaw.hh | Dumux | class MaxwellStefansLawImplementation | |
| flux/ccmpfa/darcyslaw.hh | Dumux | class DarcysLawImplementation | |
| flux/ccmpfa/fickslaw.hh | Dumux | class FicksLawImplementation | |
| flux/ccmpfa/fourierslaw.hh | Dumux | class FouriersLawImplementation | |
| flux/cctpfa/darcyslaw.hh | Dumux | class DarcysLawImplementation | |
| flux/cctpfa/fickslaw.hh | Dumux | class FicksLawImplementation | |
| flux/cctpfa/forchheimerslaw.hh | Dumux | class ForchheimersLawImplementation | |
| flux/cctpfa/fourierslaw.hh | Dumux | class FouriersLawImplementation | |
| flux/cctpfa/fourierslawnonequilibrium.hh | Dumux | class FouriersLawNonEquilibriumImplementation | |
| flux/cctpfa/maxwellstefanslaw.hh | Dumux | class MaxwellStefansLawImplementation | |
| flux/darcyslaw_fwd.hh | Dumux | class DarcysLawImplementation | |
| flux/effectivestresslaw_fwd.hh | Dumux | class EffectiveStressLaw | non-impl, but uses default |
| flux/fickslaw_fwd.hh | Dumux | class FicksLawImplementation | |
| flux/forchheimerslaw_fwd.hh | Dumux | class ForchheimersLawImplementation | |
| flux/fourierslaw_fwd.hh | Dumux | class FouriersLawImplementation | |
| flux/fourierslawnonequilibrium_fwd.hh | Dumux | class FouriersLawNonEquilibriumImplementation | |
| flux/hookeslaw_fwd.hh | Dumux | class HookesLaw | non-impl, but uses default |
| flux/maxwellstefanslaw_fwd.hh | Dumux | class MaxwellStefansLawImplementation | |
| flux/staggered/freeflow/fickslaw.hh | Dumux | class FicksLawImplementation | |
| flux/staggered/freeflow/fourierslaw.hh | Dumux | class FouriersLawImplementation | |
| flux/staggered/freeflow/maxwellstefanslaw.hh | Dumux | class MaxwellStefansLawImplementation | |
| multidomain/boundary/stokesdarcy/couplingdata.hh | Dumux | class FicksLawImplementation | |
| | | struct IsFicksLaw | |
| | | class DarcysLawImplementation | |
| | | class ForchheimersLawImplementation | |
| common/typetraits/problem.hh | Dumux::Detail | struct ProblemTraits | |
| discretization/checkoverlapsize.hh | Dumux | struct CheckOverlapSize | |
| assembly/fvassembler.hh | Dumux::Detail | struct LocalAssemblerChooser | |
| assembly/partialreassembler.hh | Dumux | class PartialReassemblerEngine | |
| discretization/fluxstencil.hh | Dumux | class FluxStencil | non-impl, but uses default |
| discretization/functionspacebasis.hh | Dumux | struct FunctionSpaceBasisTraits | non-impl, but uses default |
| flux/upwindscheme.hh | Dumux | class UpwindSchemeImpl | |
| freeflow/compositional/fluxvariables.hh | Dumux | class FreeflowNCFluxVariablesImpl | |
| freeflow/compositional/localresidual.hh | Dumux | class FreeflowNCResidualImpl | |
| freeflow/compositional/staggered/fluxvariables.hh | Dumux | class FreeflowNCFluxVariablesImpl | |
| freeflow/compositional/staggered/localresidual.hh | Dumux | class FreeflowNCResidualImpl | |
| freeflow/navierstokes/fluxvariables.hh | Dumux | class NavierStokesFluxVariablesImpl | |
| freeflow/navierstokes/localresidual.hh | Dumux | class NavierStokesResidualImpl | |
| freeflow/navierstokes/problem.hh | Dumux | struct NavierStokesParentProblemImpl | |
| | | class NavierStokesProblemImpl | |
| freeflow/navierstokes/scalarfluxvariablescachefiller.hh | Dumux | class FreeFlowScalarFluxVariablesCacheFillerImplementation | |
| freeflow/navierstokes/staggered/fluxvariables.hh | Dumux | class NavierStokesFluxVariablesImpl | |
| freeflow/navierstokes/staggered/localresidual.hh | Dumux | class NavierStokesResidualImpl | |
| freeflow/nonisothermal/localresidual.hh | Dumux | class FreeFlowEnergyLocalResidualImplementation | keep uniform casing: Freeflow and FreeFlow |
| | | class FreeFlowEnergyLocalResidualImplementation | specialization for isothermal models |
| freeflow/rans/oneeq/fluxvariables.hh | Dumux | class OneEqFluxVariablesImpl | |
| freeflow/rans/oneeq/localresidual.hh | Dumux | class OneEqResidualImpl | |
| freeflow/rans/oneeq/staggered/fluxvariables.hh | Dumux | class OneEqFluxVariablesImpl | |
| freeflow/rans/oneeq/staggered/localresidual.hh | Dumux | class OneEqResidualImpl | |
| freeflow/rans/twoeq/kepsilon/fluxvariables.hh | Dumux | class KEpsilonFluxVariablesImpl | |
| freeflow/rans/twoeq/kepsilon/localresidual.hh | Dumux | class KEpsilonResidualImpl | |
| freeflow/rans/twoeq/kepsilon/staggered/fluxvariables.hh | Dumux | class KEpsilonFluxVariablesImpl | |
| freeflow/rans/twoeq/kepsilon/staggered/localresidual.hh | Dumux | class KEpsilonResidualImpl | |
| freeflow/rans/twoeq/komega/fluxvariables.hh | Dumux | class KOmegaFluxVariablesImpl | |
| freeflow/rans/twoeq/komega/localresidual.hh | Dumux | class KOmegaResidualImpl | |
| freeflow/rans/twoeq/komega/staggered/fluxvariables.hh | Dumux | class KOmegaFluxVariablesImpl | |
| freeflow/rans/twoeq/komega/staggered/localresidual.hh | Dumux | class KOmegaResidualImpl | |
| freeflow/rans/twoeq/lowrekepsilon/fluxvariables.hh | Dumux | class LowReKEpsilonFluxVariablesImpl | |
| freeflow/rans/twoeq/lowrekepsilon/localresidual.hh | Dumux | class LowReKEpsilonResidualImpl | |
| freeflow/rans/twoeq/lowrekepsilon/staggered/fluxvariables.hh | Dumux | class LowReKEpsilonFluxVariablesImpl | |
| freeflow/rans/twoeq/lowrekepsilon/staggered/localresidual.hh | Dumux | class LowReKEpsilonResidualImpl | |
| geomechanics/stressvariablescache.hh | Dumux | class StressVariablesCache | non-impl, but uses default |
| linear/linearsolvertraits.hh | Dumux | struct LinearSolverTraitsImpl | |
| multidomain/facet/couplingmanager.hh | Dumux | class FacetCouplingManager | non-impl, but uses default |
| multidomain/facet/couplingmapper.hh | Dumux | class FacetCouplingMapper | non-impl, but uses default |
| porousmediumflow/fluxvariablescache.hh | Dumux | class PorousMediumFluxVariablesCacheImplementation | |
| porousmediumflow/fluxvariablescachefiller.hh | Dumux | class PorousMediumFluxVariablesCacheFillerImplementation | |
| multidomain/fvassembler.hh | Dumux::MultiDomainFVAssembler | struct SubDomainAssemblerType | |
| porousmediumflow/2p/saturationreconstruction.hh | Dumux | class TwoPScvSaturationReconstruction | |
| discretization/box/scvftoscvboundarytypes.hh | Dumux | class ScvfToScvBoundaryTypes | |3.5Ivan BunticIvan Buntichttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2832[component] Allow specifying dynamic _or_ kinematic viscosity for constant co...2021-09-20T07:20:56ZTimo Kochtimokoch@math.uio.no[component] Allow specifying dynamic _or_ kinematic viscosity for constant components3.5Dennis GläserDennis Gläserhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2831[material] Add option to PengRobinson::computeMolarVolume2021-09-16T11:22:20ZTimo Kochtimokoch@math.uio.no[material] Add option to PengRobinson::computeMolarVolume- Ignoring the first two roots of the equation for Z in the
smallest one is zero or negative. There was a comment
documenting that behavior, but it was not implemented.
- Throwing NumericalProblem if no positive Z has been found
o...- Ignoring the first two roots of the equation for Z in the
smallest one is zero or negative. There was a comment
documenting that behavior, but it was not implemented.
- Throwing NumericalProblem if no positive Z has been found
or the number of roots is 2 or more than 3
(no check was in place)
- Throwing NumericalProblem if the found molar volume turned
out to be zero, negative, or NaN. (Replacing assert)
- Added handleUnphysicalPhase flag (true by default). If false, the
single-root case is not checked for critical state of
the fluid (otherwise, Michelsen test for a mix of
hydrocarbons does not work).3.5Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2818Add PengRobinson::criticalTemperature()2021-09-05T14:45:03ZDmitry PavlovAdd PengRobinson::criticalTemperature()It is useful for determining whether the fluid is in supercritical state.It is useful for determining whether the fluid is in supercritical state.3.5Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2806Feature/1d3d projection2021-09-07T10:22:20ZTimo Kochtimokoch@math.uio.noFeature/1d3d projection* Add a 1D-3D coupling manager for the method introduced in Koch 2021
* Add a test derived from the existing 1p_richards test but with a smaller root system (to limit mesh file size for testing)
<img width=500px src="/uploads/f9efeb46bc...* Add a 1D-3D coupling manager for the method introduced in Koch 2021
* Add a test derived from the existing 1p_richards test but with a smaller root system (to limit mesh file size for testing)
<img width=500px src="/uploads/f9efeb46bca21d37d58e856bcb02f908/Screenshot_2021-08-29_at_02.07.19.png"></img>3.5Dennis GläserDennis Gläserhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2800[pnm] Improve parameter handling for Grid.NumPores and use same type2021-08-26T16:15:26ZTimo Kochtimokoch@math.uio.no[pnm] Improve parameter handling for Grid.NumPores and use same type3.5https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2794Draft: Resolve "Discretization method as tag instead of enum"2021-08-25T12:49:26ZIvan BunticDraft: Resolve "Discretization method as tag instead of enum"Closes #1054Closes #10543.5Ivan BunticIvan Buntichttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2784Feature/richards fluidsystem2021-08-24T20:56:29ZTimo Kochtimokoch@math.uio.noFeature/richards fluidsystemCloses #1002.
Allow using Richards model with the TwoPImmiscble fluid system.
Uses more general indices and asserts that the phases are as assumed before.
Theoretically not backwards compatible if someone had a custom fluid system wher...Closes #1002.
Allow using Richards model with the TwoPImmiscble fluid system.
Uses more general indices and asserts that the phases are as assumed before.
Theoretically not backwards compatible if someone had a custom fluid system where phases are exchanged. But the error message is clear due to the static assert and it should be easy to fix then.3.5Dennis GläserDennis Gläserhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2776Feature/component is const visco2021-08-20T19:19:53ZTimo Kochtimokoch@math.uio.noFeature/component is const visco* implement `gasViscosityIsConstant()` for `Air`
* add `viscosityIsConstant()` for `1pgas`* implement `gasViscosityIsConstant()` for `Air`
* add `viscosityIsConstant()` for `1pgas`3.5Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2773SST Turbulence model2022-02-23T09:17:17ZNed ColtmanSST Turbulence modelDirectly based on the @IvBu did in his Masters thesis. (Reference solutions are copied from dumux-pub/buntic2021a)
This would allow for use of the SST model in dumux.
- [x] Import SST and BSL models and add a test
- [x] Import the com...Directly based on the @IvBu did in his Masters thesis. (Reference solutions are copied from dumux-pub/buntic2021a)
This would allow for use of the SST model in dumux.
- [x] Import SST and BSL models and add a test
- [x] Import the compositional models and add a test3.5Ned ColtmanNed Coltmanhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2737[disc] New update functions for GridGeometry classes2021-08-15T18:53:20ZMartin Schneider[disc] New update functions for GridGeometry classesTodos:
- [x] think about how md facet updates (see comment below)
- [x] Update md files of examples after changes
- [x] ~~Fix MultiDomainGG~~ -> seperate MR
Closes #1056Todos:
- [x] think about how md facet updates (see comment below)
- [x] Update md files of examples after changes
- [x] ~~Fix MultiDomainGG~~ -> seperate MR
Closes #10563.5Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2735[parameters] Compile as separate library2021-07-29T03:52:47ZTimo Kochtimokoch@math.uio.no[parameters] Compile as separate library3.5Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2734Draft: Resolve "extrusionFactor should be a spatial parameter interface"2022-02-22T15:00:08ZFelix WeinhardtDraft: Resolve "extrusionFactor should be a spatial parameter interface"Closes #1001Closes #10013.5Felix WeinhardtFelix Weinhardthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2733Draft: Resolve "extrusionFactor should be a spatial parameter interface"2021-07-28T10:17:47ZFelix WeinhardtDraft: Resolve "extrusionFactor should be a spatial parameter interface"Closes #1001Closes #10013.5Felix WeinhardtFelix Weinhardthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2724[disc] Add toString function for discretization method2021-07-22T11:00:06ZTimo Kochtimokoch@math.uio.no[disc] Add toString function for discretization methodThis came up for the Python bindings
!2681 but it also useful otherwise I think.This came up for the Python bindings
!2681 but it also useful otherwise I think.3.5Dennis GläserDennis Gläserhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2722[geomtry][distance] Add distancePointTriangle2021-07-29T15:40:18ZKilian Weishaupt[geomtry][distance] Add distancePointTriangle3.5Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.no