Replies: 3 comments
-
The short answer is that the spaces associated with the mesh and fields defined on it are generally different. More specifically, if a mesh has Does this make sense? |
Beta Was this translation helpful? Give feedback.
-
@tzanio Thank you for your very useful and quick answer. I still am interested in the first part of my question. With @mkovaxx, we are trying to write a Rust binding for MFEM for which we must be careful to understand whether an argument may be mutated or not. |
Beta Was this translation helpful? Give feedback.
-
Hi @Chris00, sorry for the delayed response.
The space is defined on the provided mesh and more specifically on its topology. If the mesh Nodes are updated (and nothing else) the topology doesn't change and the space doesn't need to be updated. If the mesh is refined however, the space needs to be rebuild, which is what the Hope this helps, |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
The creation of a
FiniteElementSpace
takes a mutable pointer to aMesh
. I guess it is necessary to refine the mesh. However, it is not clear what happens to theFiniteElementSpace
if the mesh is modified from the outside. It seems it is sufficient to callmfem::Mesh::NodesUpdated
to update theNodes
(of typeGridFunction
) inside the space — but is it enough for the space? What if the space was used to create aLinearForm
and/or aBilinearForm
? Must these be considered invalid or is there a way to update them as well?On a related topic, if the
FiniteElementSpace
is created from a mesh whoseNodes
contains aFiniteElementCollection
, must theFiniteElementCollection
passed to the constructor be the same or may it be different (in which case, are there restrictions)?Thanks!
CC: @mkovaxx
Beta Was this translation helpful? Give feedback.
All reactions