dumux-repositories issueshttps://git.iws.uni-stuttgart.de/groups/dumux-repositories/-/issues2021-01-30T16:29:40Zhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux-web-app/-/issues/17Pathes/routing of the application in deployment needs to be fixed2021-01-30T16:29:40ZDavid WernerPathes/routing of the application in deployment needs to be fixedSuppose the application runs on https://dumux.org/dumux-web-app/. Like my current version in branch **feature/routing-of-production** with modified routing in App.js.
Then a path like (on hypertext protocol)
GET /dumux-web-app/con...Suppose the application runs on https://dumux.org/dumux-web-app/. Like my current version in branch **feature/routing-of-production** with modified routing in App.js.
Then a path like (on hypertext protocol)
GET /dumux-web-app/config/simulation-1
should work. It does not. This you trigger when you push your reload button of browser on application 1.
I also see in Webserver-Log an access like
GET /images/fracture-case1.png
generated when loading the application 2.
Of course this does not work as it is an access to something not is not the app directory. It should be
GET /dumux-web-app/images/fracture-case1.png
which is already accessibly. You can just directly access https://dumux.org/dumux-web-app/images/fracture-case1.pnghttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux-web-app/-/issues/16[design] Safari displays dropdown menus with gradient/bevel instead of flat2020-08-27T09:07:05ZTimo Kochtimokoch@math.uio.no[design] Safari displays dropdown menus with gradient/bevel instead of flat![Screen_Shot_2020-08-27_at_11.04.46](/uploads/e0986f3b0cd1ff1ee3db7e2cce45a52c/Screen_Shot_2020-08-27_at_11.04.46.png)![Screen_Shot_2020-08-27_at_11.04.46](/uploads/e0986f3b0cd1ff1ee3db7e2cce45a52c/Screen_Shot_2020-08-27_at_11.04.46.png)https://git.iws.uni-stuttgart.de/dumux-repositories/dumux-web-app/-/issues/14Plot output of multiple csv files in one chart2020-09-01T14:59:30ZDennis GläserPlot output of multiple csv files in one chartI was trying to add reference plots to the plots that are generated in simulation-2. As far as I see it, currently the `LineChart` function expects a single file, with possibly multiple datasets to be plotted from that file.
But, in the...I was trying to add reference plots to the plots that are generated in simulation-2. As far as I see it, currently the `LineChart` function expects a single file, with possibly multiple datasets to be plotted from that file.
But, in the case here one might want to plot datasets from different .csv files in a single plot.
Although this raises the possibility/problem that one tries to plot data whose x- and y-values have different meanings.https://git.iws.uni-stuttgart.de/dumux-repositories/dumux-web-app/-/issues/13[VTK] Output of multiple vtk sets2020-09-01T14:59:49ZDennis Gläser[VTK] Output of multiple vtk setsI tried visualizing two different sets of vtk files by adding an entry to the config file. For simulation-2, I did:
```js
...
},
"output": [{
...,
{
"id": "matrix",
"type": "vtk",
"basename": "case1_s...I tried visualizing two different sets of vtk files by adding an entry to the config file. For simulation-2, I did:
```js
...
},
"output": [{
...,
{
"id": "matrix",
"type": "vtk",
"basename": "case1_single_tracer_matrix",
"extensions": ["vtu"],
"update" : { "type": "stdout", "key": "[[Wrote tracer vtk output]]" }
},
{
"id": "fracture",
"type": "vtk",
"basename": "case1_single_tracer_fracture",
"extensions": ["vtu"],
"update" : { "type": "stdout", "key": "[[Wrote tracer vtk output]]" }
}
```
All files are passed to the front end, but appear in the same viewer and are displayed consecutively. Is there a restriction on having a single viewer?
As a first shot, I tried modifying `views/RunSimulation/index.jsx` to show two vtk viewers with (still) the same output, but ultimately only one is shown. Apart from that, it seems to me that in this part of the code:
```js
...
} else if (file.mimetype === 'text/xml') {
// loop through the expected output configs
vtkOutputConfig.forEach((expectedOutput) => {
// if there is a match with the base name and file name
if (file.name.match(expectedOutput.basename)) {
const content = Base64.decode(file.content)
const blob = new Blob([content], { type: file.mimetype })
const vtkFile = new File([blob], file.name)
setResultVTKFiles((vtkFiles) => [...vtkFiles, vtkFile])
}
})
}
...
```
all files, independently of the base name, are added to the same array of files which ultimately end up in the viewer?https://git.iws.uni-stuttgart.de/dumux-repositories/dumux-web-app/-/issues/12App fails when using snap version of docker2020-08-20T11:44:48ZDennis GläserApp fails when using snap version of dockerI am unsure if this is an issue, but maybe we can put a remark somewhere in the installation instructions or prerequesite sections.
I tried to make the app work on my machine, where I used the snap version of docker. This causes some pe...I am unsure if this is an issue, but maybe we can put a remark somewhere in the installation instructions or prerequesite sections.
I tried to make the app work on my machine, where I used the snap version of docker. This causes some permission issues which can be easily fixed, but, when running case 2, the input file could not be loaded by the app. Maybe something goes wrong with setting up the shared volume.
I switched to the docker and docker.io packages and now everything works fine.https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/issues/908[disc] Implementation of nonlinear fv schemes2023-02-22T08:57:22ZMartin Schneider[disc] Implementation of nonlinear fv schemeshttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux-web-app/-/issues/5Error propagation from backend to frontend2021-01-30T03:20:29ZTimo Kochtimokoch@math.uio.noError propagation from backend to frontendHow do we handle error propagation?
Example 1:
Currently when I call `http://localhost:3000/config/simulation-4` (a configuration that doesn't exist) there is an error in the backend but the frontend just shows the loading dots.
* Wha...How do we handle error propagation?
Example 1:
Currently when I call `http://localhost:3000/config/simulation-4` (a configuration that doesn't exist) there is an error in the backend but the frontend just shows the loading dots.
* What has to be returned so that the frontend can show an error?
* What will we displayed? A message? A generic 404 page?
Example 2:
The configuration file is wrong. The backend will detect this and throws an error. This should be only relevant in development mode for each app. But it would be a nice development experience if the frontend displays the configuration error and the backend stays responsive instead of breaking down.https://git.iws.uni-stuttgart.de/dumux-repositories/dumux-web-app/-/issues/4Tests2020-07-21T21:25:32ZTimo Kochtimokoch@math.uio.noTestsWe could implement some tests for different configuration files.
* [ ] Test the elements of the parameter form
* [ ] Test the backend configuration
* [ ] How to integrate this with react test?We could implement some tests for different configuration files.
* [ ] Test the elements of the parameter form
* [ ] Test the backend configuration
* [ ] How to integrate this with react test?https://git.iws.uni-stuttgart.de/dumux-repositories/dumux-web-app/-/issues/3Backend configuration2020-07-30T00:42:11ZTimo Kochtimokoch@math.uio.noBackend configurationThe configuration for each case needs a configuration section specifying the docker setup send from the frontend on simulation start. To make this a bit more secure we could have a list of trusted images and entrypoints stored in the bac...The configuration for each case needs a configuration section specifying the docker setup send from the frontend on simulation start. To make this a bit more secure we could have a list of trusted images and entrypoints stored in the backend, so that not everything the frontend sends is accepted.
JSON scheme
```
"configuration" : {
"resources.image" : "git.iws.uni-stuttgart.de:4567/dumux-repositories/dumux-docker/viplab/test",
"resources.volume" : "/data/shared",
"resources.memory" : "1g",
"resources.numCPUs" : 1,
"running.entrypoint" : "/data/bin/run.sh",
"running.commandLineArguments" : "params.input"
}
```https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/issues/839[freeflow][test] Add analytical solution to non-isothermal test2023-02-22T08:55:56ZKilian Weishaupt[freeflow][test] Add analytical solution to non-isothermal testThere are analytical solutions for some non-isothermal porous medium tests.
We could do the same for the free flow model.There are analytical solutions for some non-isothermal porous medium tests.
We could do the same for the free flow model.Kilian WeishauptKilian Weishaupthttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/issues/826Diffusion confusion (implementation)2024-03-25T10:24:47ZTimo Kochtimokoch@math.uio.noDiffusion confusion (implementation)We decided at some point that diffusion laws, e.g. `FicksLaw`, should compute all component fluxes in one go. This means two things
* we can now more efficiently compute the diffusive fluxes depending on the law (Fick / Maxwell-Stefan)
...We decided at some point that diffusion laws, e.g. `FicksLaw`, should compute all component fluxes in one go. This means two things
* we can now more efficiently compute the diffusive fluxes depending on the law (Fick / Maxwell-Stefan)
* `FicksLaw` now depends on the equation system
__Example:__
1. If I want to neglect diffusion in one phase, i can set the diffusion coefficient to zero. However, then the diffusive fluxes are still computed and I can throw them away in the custom local residual.
2. The Richards model is an immiscible two-phase two-component model but the air phase is never balanced. To integrate this in the current framework, we introduced `BalanceEqOpts::mainComponentIsBalanced(phaseIdx)` which is overloaded for the Richards model and used in Fick's law. In this case the dependency is actually there in the code in form of the additional dependency on `BalanceEqOpts`.
__One thought for a possible solution:__
If we would have a class `DiffusionFlux` replacing the current `FicksLaw`, then we could have a custom implementation `RichardsDiffusionFlux` which takes care of special requirements. `DiffusionFlux` would be a class on the level of `LocalResidual` only containing physics/equations. Internally it could use something like `FicksLaw` (new implementation that only contains the transmissibility part and discretization specifics) to compute the actual individual fluxes. `DiffusionFlux` may need to be specialized on the Law type (Fick / Maxwell-Stefan) but not the discretization.
Maybe, this would essentially be a code renaming / reordering. But that needs to be further investigated.X.Xhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/issues/816Do not use term "handle" in mpfa2023-02-22T08:54:35ZDennis GläserDo not use term "handle" in mpfaThe term `DataHandle` used in mpfa should be replaced as it actually stores the data.The term `DataHandle` used in mpfa should be replaced as it actually stores the data.Dennis GläserDennis Gläserhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/issues/814Extract "constraint solvers" from volume variables2023-02-22T09:00:40ZTimo Kochtimokoch@math.uio.noExtract "constraint solvers" from volume variablesThe computation of the secondary variables from the primary variables is currently often coded inside the volume variables' `update` function. For the purpose of potential code reusage, readability, and testability it is IMO better to mo...The computation of the secondary variables from the primary variables is currently often coded inside the volume variables' `update` function. For the purpose of potential code reusage, readability, and testability it is IMO better to move this functionality to constraint solver classes. Even if the computation is quite simple. This is sometimes done in the form of the `computeFluidState` function. However, there is no general interface for all models.
If the constraint solver is in a separate class it is much easier to write unit tests. Volume variables have a lot of dependencies but the constraint solver can easily be tested and mock object are simple to construct for values obtained from e.g. the spatial params or some physical law.Yue Wangyue.wang@iws.uni-stuttgart.deYue Wangyue.wang@iws.uni-stuttgart.dehttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/issues/807[RANS] Evaluate possibility to chose turbulence model at runtime2023-09-27T08:51:41ZKilian Weishaupt[RANS] Evaluate possibility to chose turbulence model at runtimeCurrently, we have a myriad of different RANS models (zeroeq, oneeq, twoeq-kepsilon, twoeq-komega, twoeq-lowrekepsilon).
Maybe we could choose the turbulence model (at least for the two-eq models) at runtime.
This would decrease the nu...Currently, we have a myriad of different RANS models (zeroeq, oneeq, twoeq-kepsilon, twoeq-komega, twoeq-lowrekepsilon).
Maybe we could choose the turbulence model (at least for the two-eq models) at runtime.
This would decrease the number of executables for the tests and maybe also decrease the effort to add new turbulence models.3.9Ned ColtmanNed Coltmanhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/issues/792MultiDomain does not work for solution-dependent spatial params in instationa...2024-03-25T10:26:16ZDennis GläserMultiDomain does not work for solution-dependent spatial params in instationary problemsThis issue is related to #619, #703 and #788.
**What happened / Problem description**:
If a spatial param, e.g. porosity, depends on the solution of another domain (for example deformation-dependent porosities in poroelastic models), ...This issue is related to #619, #703 and #788.
**What happened / Problem description**:
If a spatial param, e.g. porosity, depends on the solution of another domain (for example deformation-dependent porosities in poroelastic models), there is currently no way to evaluate it on the correct time level during the creation of the previous volume variables. This causes the Newton solver to fail even for simple problems. A local (hacky) bugfix showed that good convergence is obtained when this is fixed.
This means that currently the Geomechanics module cannot be used for time-dependent problems in which deformation-dependent porosities are used, which is a standard capability.
A similar problem is reported in #703, where time-dependent spatial saturation distributions are needed.
Since several issues are related to this, an idea was to think about a more general way of handling time discretization schemes and hopefully fix all three issues at once.
One idea was to have a local view on the spatial parameters as well, and change all __bind__ functions such that they not only bind to an element but also to a time level somehow.X.Xhttps://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/issues/763[FreeFlow] No Newton convergence for pressure Dirichlet BCs at high Re2023-02-22T08:58:22ZKilian Weishaupt[FreeFlow] No Newton convergence for pressure Dirichlet BCs at high ReFor simple pipe flow, setting Dirichlet BCs for the pressure both at the inlet and outlet
works well for low Re. For higher Re, the Newton scheme does not converge anymore.
Setting the inlet BCs to Dirichlet for velocity works.
This sh...For simple pipe flow, setting Dirichlet BCs for the pressure both at the inlet and outlet
works well for low Re. For higher Re, the Newton scheme does not converge anymore.
Setting the inlet BCs to Dirichlet for velocity works.
This should be investigated. Maybe the assumption of
$`\nabla \mathbf{v} \cdot \mathbf{n} = 0 `$
and
$`\nabla p \cdot \mathbf{n} = 0 `$
used for the pressure BC causes this problem?https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/issues/761Cleanup explicit flash of implicit 2p2c model2023-02-22T08:57:13ZBeatrix BeckerCleanup explicit flash of implicit 2p2c modelThe volumevariables of the 2p2c model have an explicit flash directly implemented in the volumevariables itself.
* In general I like the idea of a specialized 2p2c flash that is easy to understand and fast, but it shouldn't be included...The volumevariables of the 2p2c model have an explicit flash directly implemented in the volumevariables itself.
* In general I like the idea of a specialized 2p2c flash that is easy to understand and fast, but it shouldn't be included in the volumevariables. I would propose implementing it as a separate class in a separate header, like the other constraintsolvers.
* The flash is only used if `useConstraintSolver` is false and the default is true. For the 2p2c model I would make the flash the default, since it is a faster calculation than using the more general `MiscibleMultiPhaseComposition` constraintsolver which solves a linear system of equations. Maybe we should even completely delete `useConstraintSolver` because in my opinion the solver has no benefit here, it solves the same equations, just less efficiently.
* For the case of one phase we may use the `ComputeFromReferencePhase` constraintsolver since it does exactly what the flash does.
* I don't think the flash is currently tested, so this should be added. It should have the same result as the other constraintsolvers.
What do you think? Another solution could be to delete the flash code and always use the solvers that we already have, but as mentioned above, I prefer having a 2p2c-specific flash.
There are a few points that I'm not sure of, maybe @holle can comment on this:
* In my opinion this flash is not as correct as it could be because it uses the assumption that vapor pressure of the liquid component and partial pressure of the liquid component in the gas phase are the same. This is only the case if we neglect the presence of other components in the gas phase. There is an equally quick method to calculate the mass fractions without using this assumption, see the 2p2c flash of the sequential models (note: pre release 3.4)
* It seems that the flash assumes that we deal with one liquid and one gas phase and that the liquid phase is the first phase. I think the 2p2c flash of the sequential models doesn't have this constraint.
* There seems to be a bug in the case that only the first phase is present, in the calculation of the mole fraction of the first component in the second phase. A multiplication with the mole fraction of the first component in the first phase is probably missing.https://git.iws.uni-stuttgart.de/dumux-repositories/dumux-website/-/issues/16Add benchmark results to advertise reliability2023-09-25T09:34:47ZTimo Kochtimokoch@math.uio.noAdd benchmark results to advertise reliabilityThe website could have a section with at least one benchmark to advertise reliability. For example a benchmark from the SPE series. Or the fracture benchmarks.The website could have a section with at least one benchmark to advertise reliability. For example a benchmark from the SPE series. Or the fracture benchmarks.https://git.iws.uni-stuttgart.de/dumux-repositories/dumux-website/-/issues/4Describe and link to application repositories / "User stories"2023-09-25T09:23:21ZBernd FlemischDescribe and link to application repositories / "User stories"There are a lot of LH2-internal and also external Dumux application repositories. We should describe them and provide links. ~~It would also be good to link to benchmarking efforts~~(see #16). Invite for contributions.There are a lot of LH2-internal and also external Dumux application repositories. We should describe them and provide links. ~~It would also be good to link to benchmarking efforts~~(see #16). Invite for contributions.https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/-/issues/707Generic implementation of L2-norm calculation using generic L2-projection2024-01-18T09:27:15ZTimo Kochtimokoch@math.uio.noGeneric implementation of L2-norm calculation using generic L2-projectionWith !1609 we get a generic l2-projection. In order to use it for interpolation between two arbitrary grids (arbitrary function spaces already works), we need to implement
* [x] 2d-2d intersections (!1625)
* [x] 3d-3d intersections (!29...With !1609 we get a generic l2-projection. In order to use it for interpolation between two arbitrary grids (arbitrary function spaces already works), we need to implement
* [x] 2d-2d intersections (!1625)
* [x] 3d-3d intersections (!2977)
That would be a great tool for convergence tests.