dumux merge requestshttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests2021-11-09T09:47:38Zhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2708Add new class for calculating wall distance2021-11-09T09:47:38ZKilian WeishauptAdd new class for calculating wall distance* Add geometry utilities for constructing spheres / bounding spheres / circumspheres (these are acutally not used by the wall distance but might be useful in the future now that they are implemented.)
* Add `closestEntity` and `distance`...* Add geometry utilities for constructing spheres / bounding spheres / circumspheres (these are acutally not used by the wall distance but might be useful in the future now that they are implemented.)
* Add `closestEntity` and `distance` queries for point and AABB trees
* Add `DistanceField` a function-like wrapper around a set of geometries to make distance queries at a given sample point
* Add `WallDistance` a class that evaluates discrete distance-to-the-mesh-boundary field at either vertex or element centers
__TODO__
- [x] better test
- [x] Maybe use in existing RANS model
- [x] fix check for UG or ALU in test
- [x] check parallelism? maybe throw
![Screenshot_2021-08-26_at_16.06.13](/uploads/66e7098269e3030b6edd0dcff95c0364/Screenshot_2021-08-26_at_16.06.13.png)3.5Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2923[1d3d][avg] Skip point source if the circle stencil is empty (zero coupling t...2021-11-03T18:32:26ZTimo Kochtimokoch@math.uio.no[1d3d][avg] Skip point source if the circle stencil is empty (zero coupling term)In this case the integration element is zero anyways and there is no coupling but the pressure may
become NaN and makes the simulation crash due to NaN residuals.In this case the integration element is zero anyways and there is no coupling but the pressure may
become NaN and makes the simulation crash due to NaN residuals.3.5https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2918Fix/epsilon 2d 2d intersections2021-11-02T23:29:00ZDennis GläserFix/epsilon 2d 2d intersections3.5Timo Kochtimokoch@math.uio.noTimo Kochtimokoch@math.uio.nohttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2908[cleanup] Remove code deprecated before release 3.42021-11-02T16:43:57ZRoman Winter[cleanup] Remove code deprecated before release 3.4Closes #1094Closes #10943.5Roman WinterRoman Winterhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2917Cleanup/dimless nums2021-11-01T18:04:41ZTimo Kochtimokoch@math.uio.noCleanup/dimless nums3.5https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2916[readme] Order build badges by importance for users2021-11-01T17:03:02ZTimo Kochtimokoch@math.uio.no[readme] Order build badges by importance for users3.5https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2905Deprecate the shell scripts2021-10-28T08:45:56ZFarid MohammadiDeprecate the shell scriptsCloses #883
TODO:
- [x] Deprecation warning in python for `bin/util/test_dumux.sh`
- [x] Deprecate the following scripts:
1. [compareparameters.sh](https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/blob/master/bin/doc/comp...Closes #883
TODO:
- [x] Deprecation warning in python for `bin/util/test_dumux.sh`
- [x] Deprecate the following scripts:
1. [compareparameters.sh](https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/blob/master/bin/doc/compareparameters.sh)
2. [replace_property_macros.sh](https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/blob/master/bin/util/replace_property_macros.sh)
- [x] Add changes in the `CHANGELOG.md`3.5Farid MohammadiFarid Mohammadihttps://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/2903[cmake] Several smaller cleanups2021-10-26T16:20:45ZTimo Kochtimokoch@math.uio.no[cmake] Several smaller cleanupsMake CMake slightly less verbose and fix some warningsMake CMake slightly less verbose and fix some warnings3.5https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/merge_requests/2902[md][embedded] Remove deprecation warning from extended source stencil interface2021-10-26T14:56:22ZTimo Kochtimokoch@math.uio.no[md][embedded] Remove deprecation warning from extended source stencil interfaceFixes #1089Fixes #10893.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/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/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/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/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/2826[md][ff-pm] Add freeflow porous medium coupling managers and test2021-10-19T12:06:20ZTimo Kochtimokoch@math.uio.no[md][ff-pm] Add freeflow porous medium coupling managers and testPart of merging !2201 in smaller parts.
Improvement in comparison to old convergence test:
* Add stress tensor for analytical solutions
* add tests for dirichlet, neumann and mixed dirichlet-neumann boundaries in both domains
* test al...Part of merging !2201 in smaller parts.
Improvement in comparison to old convergence test:
* Add stress tensor for analytical solutions
* add tests for dirichlet, neumann and mixed dirichlet-neumann boundaries in both domains
* test all implemented analytical solutions
TODO
* [x] Coupling manager: Make interface smaller (private) whereever possible
* [x] Fix updateCouplingContext3.5Dennis GläserDennis Gläserhttps://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/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/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.5