[Dune-devel] Validity of GridView after grid changes
Simon Praetorius
simon.praetorius at tu-dresden.de
Fri Apr 11 09:57:29 CEST 2025
Hi Christian,
I was also think, maybe the meta-grids (and their gridview) or the
gridview-wrapper might be a problem.
But then I thought:
- A gridview is a "view" and thus needs to be light-weight and thus
should not store any heavy data that it might need to update, e.g., a
vector with sub-domain information for each element. We copy around the
gridviews all the time and my assumption is that copying a gridview
should be essentially zero-cost.
- If we would assume that the gridviews of the standard grid managers
are safe, and a meta-grid wraps such gridviews and does not manage any
extra data, then also meta-grids could be implemented in a safe way.
- In applications, we do not know whether we get a gridview from a
grid-manager or a meta-gridview. Thus, we should be able to make the
same assumptions about both.
Best,
Simon
Am 11.04.25 um 09:48 schrieb Christian Engwer:
>> So, my post refers actually to the question whether we should do anything
>> with the gridview or not (after grid adaption) and it seems to me, that a
>> gridview is perfectly valid after the underlying grid has changed.
> I think this is only partially true.
>
> If you have a meta grid and you trigger the modification via the meta
> grid, everything thould be ok, but already it you trigger the
> adaptation via the hostgrid, you might run into problems, as the host
> grid reference is still the same, but the additional metagrid
> information, like the bool vector in subgrid are now of the wrong
> size, or di I miss a trick?
>
> For externally created gridview it is often the same problem, as these
> usually have some kind of metagrid-like behaviour, but this might be
> ok, as you keep them as a reference and thus know that you created
> them explicitly.
>
> Ciao
> Christian
>
>> Did I miss something? Is this a guarantee that we can give? Are there
>> counterexamples?
>>
>> Best,
>> Simon
>>
>> Am 10.04.25 um 21:04 schrieb Christian Engwer:
>>> PS Ich denke ein genereller Bedarf besteht, wir sollten also mal über
>>> eine Lösung diskutieren...
>>>
>>>
>>> Am 10. April 2025 20:57:21 MESZ schrieb Christian Engwer
>>> <christian.engwer at uni-muenster.de>:
>>>
>>> Deswegen gibt es den magischen Pointer den Robert aufs Gitter
>>> packen möchte, damit er dort eine Liste pflegen kann, welche
>>> Objekte alle aktualisiert werden müssen, wenn sich das Gitter ändert.
>>>
>>> Ciao Christian
>>>
>>>
>>> Am 10. April 2025 18:19:52 MESZ schrieb Simon Praetorius
>>> <simon.praetorius at tu-dresden.de>:
>>>
>>> Hi everyone, if I have a gridview, e.g. a leaf-gridview, of
>>> some grid and I modify the grid, e.g., do some grid adaption,
>>> what is the state of the gridview after this modification?
>>> What can we do with a gridview after the modification? As far
>>> as I was know (maybe this is documented somewhere),
>>> essentially the gridview is invalid, except for the reference
>>> to the grid. Is this statement correct? Background to this
>>> question: Often I have stored just a gridview, in my
>>> application most of the time just the leaf gridview. If the
>>> underlying grid changes, how can I generate an updated
>>> gridview for these classes? The gridview does not know what
>>> kind of gridview it is and how it was constructed. Thus, it
>>> cannot request an update of itself. Examples of such classes
>>> that need to update their gridview are the MCMGMapper in
>>> dune-grid, the VtkWriter from dune-vtk, the global basis from
>>> dune-functions, and probably a lot more. Several grids have
>>> gridviews that stay valid after grid modifications, e.g. those
>>> implemented with a GridDefaultImplementation using
>>> DefaultGridViewTraits. Is this, by chance, true for all grid
>>> managers? In which grid managers an operation on an
>>> invalidated gridview would fail (and why)? Best, Simon
>>>
>>>
>>> _______________________________________________
>>> Dune-devel mailing list
>>> Dune-devel at lists.dune-project.org
>>> https://lists.dune-project.org/mailman/listinfo/dune-devel
>> _______________________________________________
>> Dune-devel mailing list
>> Dune-devel at lists.dune-project.org
>> https://lists.dune-project.org/mailman/listinfo/dune-devel
>
More information about the Dune-devel
mailing list