dune-tnnmg merge requestshttps://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests2017-11-28T10:46:57Zhttps://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/6Add 'ConstrainedMatrix' and 'ConstrainedBitVector' to linearizations2017-11-28T10:46:57ZPatrick Jaappatrick.jaap@tu-dresden.deAdd 'ConstrainedMatrix' and 'ConstrainedBitVector' to linearizationsThe extended TNNMG step requires these typenames for the LinearSolver constructor.
For the build-in linearizations the contrained types are the same as the unconstrained ones.
Plus small notation change in tnnmgstep.hhThe extended TNNMG step requires these typenames for the LinearSolver constructor.
For the build-in linearizations the contrained types are the same as the unconstrained ones.
Plus small notation change in tnnmgstep.hhhttps://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/35Various minor cleanup patches2023-10-27T15:09:21Zoliver.sander_at_tu-dresden.deoliver.sander@tu-dresden.deVarious minor cleanup patcheshttps://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/34Draft: Introduce the IntegralFunctional class and its linearization2023-10-06T10:30:32Zoliver.sander_at_tu-dresden.deoliver.sander@tu-dresden.deDraft: Introduce the IntegralFunctional class and its linearizationThis class currently resides in the `dune-fracture-phasefields` module, but there is nothing fracture-specific about it.
However, there are a few details that I would like to get opinions on:
* Is `functionals` the best subdirectory?
*...This class currently resides in the `dune-fracture-phasefields` module, but there is nothing fracture-specific about it.
However, there are a few details that I would like to get opinions on:
* Is `functionals` the best subdirectory?
* Is the new code in `functionalstest.hh` appropriate, or should it go into a separate file?
Most importantly:
* The MR contains the `ElementQuantityAssembler` class, which uses the `dune-fufem` assemblers. But `dune-fufem` is not a dependency of `dune-tnnmg`. Where should this code go?
* I am still not happy with the name `ElementQuantityAssembler`. Can we come up with anything better?
Finally, the MR needs a changelog entry.https://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/33Build again with the current Dune core2023-03-27T14:18:50Zoliver.sander_at_tu-dresden.deoliver.sander@tu-dresden.deBuild again with the current Dune coreFixes #5Fixes #5https://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/32Add a CI job for the codespell tool2023-03-30T08:01:19Zoliver.sander_at_tu-dresden.deoliver.sander@tu-dresden.deAdd a CI job for the codespell toolhttps://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/31Companion patches for a sequence of speed-up patches in dune-fracture-phasefi...2022-04-08T08:44:50Zoliver.sander_at_tu-dresden.deoliver.sander@tu-dresden.deCompanion patches for a sequence of speed-up patches in dune-fracture-phasefieldshttps://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/30Use TupleVector instead of MultiTypeBlockVector in conceptcheck.cc2022-03-23T17:04:48Zoliver.sander_at_tu-dresden.deoliver.sander@tu-dresden.deUse TupleVector instead of MultiTypeBlockVector in conceptcheck.ccSince recently, MultiTypeBlockVector tries to construct a common
field type from its entries, which makes it a bit more strict
in what it accepts as entries. This makes conceptcheck.cc fail.
Since MultiTypeBlockVector is not actually n...Since recently, MultiTypeBlockVector tries to construct a common
field type from its entries, which makes it a bit more strict
in what it accepts as entries. This makes conceptcheck.cc fail.
Since MultiTypeBlockVector is not actually needed here, simply
replace it by TupleVector, which is more forgiving.https://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/29Add support for dynamic container of local solvers2021-12-01T15:35:30ZgraeserAdd support for dynamic container of local solversThis allows to have different local solvers in `NonlinearGSStep`.
The feature existed before but was restricted to statically sized
containers. This patch adds support for dynamically sized ones.This allows to have different local solvers in `NonlinearGSStep`.
The feature existed before but was restricted to statically sized
containers. This patch adds support for dynamically sized ones.https://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/28WIP: Allow to make truncation gradient aware2021-11-29T20:23:10ZgraeserWIP: Allow to make truncation gradient awareThis additionally checks if the gradient points
inside of the admissble set for those entries
touching the obstacle.This additionally checks if the gradient points
inside of the admissble set for those entries
touching the obstacle.https://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/27Allow to make truncation gradient aware2021-11-29T20:21:55ZgraeserAllow to make truncation gradient awareThis additionally checks if the gradient points
inside of the admissble set for those entries
touching the obstacle.This additionally checks if the gradient points
inside of the admissble set for those entries
touching the obstacle.https://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/26Add support for regularizing truncated diagonal entries2021-11-12T11:03:55ZgraeserAdd support for regularizing truncated diagonal entriesThis adds support for regularization of truncated diagonal
entries in `BoxConstrainedQuadraticFunctionalConstrainedLinearization`
If this is enabled, diagonal entries of truncated rows are set
to 1. In case of nested matrices this is app...This adds support for regularization of truncated diagonal
entries in `BoxConstrainedQuadraticFunctionalConstrainedLinearization`
If this is enabled, diagonal entries of truncated rows are set
to 1. In case of nested matrices this is applied recusively,
such that only the truncated scalar diagonal entries of nontrivial
diagonal blocks are modified. This can be handy if the truncated
linearized problem should be treated by a linear solver.
By default this is disabled, such that linear solvers for the
linearized problem have to be robust with respect to singular
problems due to truncation.https://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/25WIP: Semilinear functional2021-05-07T10:53:35Zlh1887WIP: Semilinear functionalThis MR implements a semilinear functional of the form
```math
J(u) = \sum_i \omega_i \varphi(u_i)
```
where the index i corresponds to the *scalar* entries (but the vectors should be able to be arbitrarily blocked).
The function phi nee...This MR implements a semilinear functional of the form
```math
J(u) = \sum_i \omega_i \varphi(u_i)
```
where the index i corresponds to the *scalar* entries (but the vectors should be able to be arbitrarily blocked).
The function phi needs to be supplied by the user and has to comply to a (not yet fixed) reasonable interface.
This functional explicitly does not carry any quadratic part of the functionals many of us would consider. The idea is to integrate this part via using `SumFunctional` and (e.g.) `QuadraticFunctional` as needed.
This is still work in progress, there are several things remaining, among them:
- tests
- examples (say e.g. Allen-Cahn with different potentials)
- documentation
- clean up (names, files, ...)
- many things can be done more efficiently
- bug fixinghttps://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/24Merge branch 'do-not-depend-on-ag-common' into 'master'2020-11-16T11:55:53Zoliver.sander_at_tu-dresden.deoliver.sander@tu-dresden.deMerge branch 'do-not-depend-on-ag-common' into 'master'Do not depend on ag common
See merge request agnumpde/dune-tnnmg!23
(cherry picked from commit d642d29702d6bab1c157c9660165a4277aa0a072)
5ab14f8a Do not depend on module 'ag-common'
6a0161e6 Point to the current GitLab URLDo not depend on ag common
See merge request agnumpde/dune-tnnmg!23
(cherry picked from commit d642d29702d6bab1c157c9660165a4277aa0a072)
5ab14f8a Do not depend on module 'ag-common'
6a0161e6 Point to the current GitLab URLhttps://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/23Do not depend on ag common2020-11-16T11:46:55Zoliver.sander_at_tu-dresden.deoliver.sander@tu-dresden.deDo not depend on ag commonhttps://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/22Feature/avoid nonlinearity2020-10-19T16:09:35ZgraeserFeature/avoid nonlinearityAvoid using old `Nonlinearity` and `ConvexProblem` and corresponding headers.Avoid using old `Nonlinearity` and `ConvexProblem` and corresponding headers.https://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/21Feature/make old tnnmg compile again2020-10-19T15:38:24ZgraeserFeature/make old tnnmg compile againThis allows to use the old TNNMG code without the OLD_TNNMG switch. Notice that this is only done for a transition period as long as the new implementation is not as powerful as the old one.This allows to use the old TNNMG code without the OLD_TNNMG switch. Notice that this is only done for a transition period as long as the new implementation is not as powerful as the old one.https://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/20Add SumFunctionalConstrainedLinearization class2020-10-19T13:35:23Zoliver.sander_at_tu-dresden.deoliver.sander@tu-dresden.deAdd SumFunctionalConstrainedLinearization classJust as SumFunctional implements the sum of several independent
functionals, this new class SumFunctionalConstrainedLinearization
implements the sum of linearizations (or, equivalently, the
linearization of the sum).Just as SumFunctional implements the sum of several independent
functionals, this new class SumFunctionalConstrainedLinearization
implements the sum of linearizations (or, equivalently, the
linearization of the sum).https://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/19Stop using deprecated class VirtualFunction2020-10-19T09:56:33Zoliver.sander_at_tu-dresden.deoliver.sander@tu-dresden.deStop using deprecated class VirtualFunctionhttps://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/18Merge the dune-tnnmg-examples module into dune-tnnmg2020-11-26T20:46:52Zoliver.sander_at_tu-dresden.deoliver.sander@tu-dresden.deMerge the dune-tnnmg-examples module into dune-tnnmgHoping that the example and the text from dune-tnnmg-examples will get more attention and rot less if they are in the main module.
WIP because right now the MR is almost a verbatim copy of the code in dune-tnnmg-examples, and nothing bu...Hoping that the example and the text from dune-tnnmg-examples will get more attention and rot less if they are in the main module.
WIP because right now the MR is almost a verbatim copy of the code in dune-tnnmg-examples, and nothing builds and nothings runs. Will continue.
One problem I didn't think about when I started copying: The examples code need many more Dune modules that dune-tnnmg itself. Currently they need at least dune-functions, dune-typetree, and dune-pdelab. I suppose we have to add them as optional dependencies. Is everybody okay with that?https://git.imp.fu-berlin.de/agnumpde/dune-tnnmg/-/merge_requests/17Convert truncateVector/-Matrix into free functions2020-07-07T15:25:31Zlh1887Convert truncateVector/-Matrix into free functionsThis way, they can more easily be used in other contexts.This way, they can more easily be used in other contexts.