dumux merge requestshttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests2021-10-21T19:22:18Zhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2896[privarswitch] Add updateDirichletConstraints to NoPrimaryVariableSwitch2021-10-21T19:22:18ZDmitry Pavlov[privarswitch] Add updateDirichletConstraints to NoPrimaryVariableSwitch3.5Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2893Feature/2d 2d in 3d intersections2021-10-26T14:07:46ZDennis GläserFeature/2d 2d in 3d intersectionsIntroduces a segment-segment intersection algorithm that aims for intersection points, which is then reused in a new polygon-polygon intersection algorithm.Introduces a segment-segment intersection algorithm that aims for intersection points, which is then reused in a new polygon-polygon intersection algorithm.3.5Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2888Feature/base spatialparams v22022-02-16T10:54:19ZDennis GläserFeature/base spatialparams v2An alternative approach to !2839.
TODO:
- [x] add new versions for geomechanics params
- [x] add new version for nonequilibrium params
- [x] port the tests, which requires moving `temperature` and `extrusionFactor` into the spatial par...An alternative approach to !2839.
TODO:
- [x] add new versions for geomechanics params
- [x] add new version for nonequilibrium params
- [x] port the tests, which requires moving `temperature` and `extrusionFactor` into the spatial params (dumux day task?)
TODOS for follow-up merge requests (!!!Before merging this we should open respective issues!!!):
- [x] use spatial params in free flow models (-> Fixes #1111)
- [x] move porenetwork spatial params in pore-network folder? (-> Fixes #1112)
- [x] move fluid property interfaces from geomechanics problem into geomech spatial params and deprecate problem (-> Fixes #1113)
Test folder ports:
- [x] 1p (@IvBu) !2906
- [x] 1pnc (@RoWin) !2974
- [x] 1pncmin (@mathis) !2942
- [x] richards (@bernd) !2945
- [x] 2p (@stefaniekiemle) !2950
- [x] 2p1c (@mathis) !2943
- [x] mpnc (@DennisGlaeser) !2949
- [x] 2p2c (@mathis) !2955
- [x] 3p (@bernd) !2946
- [x] 3p3c (@bernd) !2947 which is based on !2946
- [x] richardsnc (@bernd) !2948 which is based on !2945
- [x] co2 (@bernd) !2957 which is based on !2955
- [x] tracer (@bernd) !2952 which is based on !2950
- [x] solidenergy (@DennisGlaeser) !2951
- [x] 2pnc (@mathis) !2956
- [x] multidomain (@DennisGlaeser) !2960
- [x] examples !2978
- [x] 2pncmin (@DennisGlaeser) (done here directly)3.5https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2886[test][donea][mom] Add comment about current requirement overlap=12021-10-20T07:28:01ZTimo Kochtimokoch@math.uio.no[test][donea][mom] Add comment about current requirement overlap=13.5Kilian WeishauptKilian Weishaupthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2884Implement RichardsVelocityOutput which fixes velocity output for the Richards...2021-10-20T16:55:17ZRoman WinterImplement RichardsVelocityOutput which fixes velocity output for the Richards modelfixes #1087fixes #10873.5Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2882[momentum][fluxhelper][cleanup] Use naming scheme conforming variable names2021-10-19T11:17:57ZTimo Kochtimokoch@math.uio.no[momentum][fluxhelper][cleanup] Use naming scheme conforming variable names3.5https://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/2874[md][couplingmanager] Fix nullptr initialization of problem2021-10-18T16:28:31ZTimo Kochtimokoch@math.uio.no[md][couplingmanager] Fix nullptr initialization of problemRemove unncessary capture for init lambda functionsRemove unncessary capture for init lambda functions3.5Dennis GläserDennis Gläserhttps://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/2871Feature/new staggered small fixes2021-10-17T17:49:44ZTimo Kochtimokoch@math.uio.noFeature/new staggered small fixes3.5https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2870[navierstokes][problem] Do not expose discretization methods in problem2021-10-16T16:11:14ZTimo Kochtimokoch@math.uio.no[navierstokes][problem] Do not expose discretization methods in problemThis created some unresolved dependenices due to the cyclic interdependency
of problem and coupling manager. This worked before because the discretizaiton
method was always one specific type. With tags the actual type has to be known,
so...This created some unresolved dependenices due to the cyclic interdependency
of problem and coupling manager. This worked before because the discretizaiton
method was always one specific type. With tags the actual type has to be known,
so both problems and the coupling manager have to be instatiated before this
information can be accessed.3.5https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2869Fix BoundaryFlux class in pore network2021-11-18T07:39:23ZMaziar VeyskaramiFix BoundaryFlux class in pore networkFix BoundaryFlux class in boundaryflux.hh to work with Neumann boundary condition ad requested in issue #996.
Fixes #996.Fix BoundaryFlux class in boundaryflux.hh to work with Neumann boundary condition ad requested in issue #996.
Fixes #996.3.5Kilian WeishauptKilian Weishaupthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2867Fix/make install script2021-10-19T17:44:54ZDennis GläserFix/make install script3.5Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2858Remove template argument PrimaryVariables from ShallowWaterViscousFlux2021-10-02T11:01:08ZMartin UtzRemove template argument PrimaryVariables from ShallowWaterViscousFluxThe template argument PrimaryVariables is not needed and can be therefore
removed as discussed with @timok in !2824The template argument PrimaryVariables is not needed and can be therefore
removed as discussed with @timok in !28243.5Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2856[material][components] add temperature dependent vaporization enthalpy to gas...2022-03-30T18:41:30ZKatharina Heck[material][components] add temperature dependent vaporization enthalpy to gas enthalpy of simpleh2o<!--
Thanks for sending a merge request!
If this is your first time, read our [contributing guidelines](/CONTRIBUTING.md)
-->
**What this MR does / why does DuMux need it**:
This adds the vaporization enthalpy to the gas enthalpy. This...<!--
Thanks for sending a merge request!
If this is your first time, read our [contributing guidelines](/CONTRIBUTING.md)
-->
**What this MR does / why does DuMux need it**:
This adds the vaporization enthalpy to the gas enthalpy. This is needed for components that can have a phase change. A temperature dependence on tRef is introduced according to a simple formula found in literature.
Remark: This is consistent with constant component as both calculate the gas enthalpy as
```gasHeatCapacity(temperature, pressure)*(temperature - tRef) + vaporizationEnthalpy()```. However, for constant component the vaporization enthalpy is an input value (constant) while simpleh2o uses the calculation based on literature.
**Which issue this MR fixes**:
fixes #1013
Todo:
- [x] check if any test is influenced by this. so far i could not find one3.5Katharina HeckKatharina Heckhttps://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/2850Fix switching between isothermal and nonisothermal model in freeflow channel ...2021-09-30T13:05:00ZBernd FlemischFix switching between isothermal and nonisothermal model in freeflow channel testA preprocessor variable ISOTHERMAL was set to 0 per default in main.cc
while for switching, the variable NONISOTHERMAL was evaluated.
To fix, set NONISOTHERMAL instead of ISOTHERMAL in main.cc.A preprocessor variable ISOTHERMAL was set to 0 per default in main.cc
while for switching, the variable NONISOTHERMAL was evaluated.
To fix, set NONISOTHERMAL instead of ISOTHERMAL in main.cc.3.5Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2845[port] channel/1d to new staggered2021-10-02T11:17:04ZRoman Winter[port] channel/1d to new staggeredPorted channel/1d to new staggeredPorted channel/1d to new staggered3.5Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://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 Buntic