-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for node and edge sets #41
base: master
Are you sure you want to change the base?
Conversation
Not sure how to deal with |
Recently we have changed the definitions of edges and faces in Ferrite, see description here (Ferrite-FEM/Ferrite.jl#914)
Vertices describe the end-points of edges, while nodes can also be present along an edge, on a face, or inside a volume.
With the new definitions, edges are always 1d entities and faces 2d entities. Note that the |
So, what's your opinion on downward compatibility here? Is it sufficient to just support the latest definitions of Ferrite? |
I think it's sufficient to use the latest definition and make a compat entry for a new FerriteGmsh version that it only supports 1.0 in the new release |
Two things I'm currently uncertain of.
Edit:
|
I'd suggest the following: either we add a docstring to
I think if you query 0 dimensional entities from GMSH you always get a nodeset, right? I'd just include it for now as a nodeset, not sure what the use case of vertexsets would be in that case. |
Sound good to me.
Sure, I don't think gmsh supports the concept of a vertex. However, Ferrite.Dirichlet requires vertex sets, right? So I think the node physical groups should definitely be vertex sets for applying BCs. I don't know why one would require node sets that are not vertices as well (Except maybe for reference points or additional DOFs, but I guess that's anyway not yet supported by Ferrite). |
cc734ff
to
8526ada
Compare
d599461
to
6a7e2db
Compare
|
@koehlerson @KnutAM, have you guys had a chance to review this? |
Addresses #6.
I know there is already a PR open for this, but I think this is a less redundant implementation for the node sets. I noticed that the
tocellsets
method is quite general in terms ofdim
. Supplying the global node number from gmsh directly gives the proper node set definition. So the function can be reused.Some questions regarding Ferrite grids:
What are vertex sets? I noticed them in the documentation. I guess this is just a different name and they are interchangeable with node sets.
I assume node sets can be created independent of the dimension in gmsh. They always exist and are of dim=0.
I assume edge sets are in a sense dim-2 sets (when face sets are dim-1 sets). So, for dim=2, they are equal to node sets, so I would ignore them in this case and only extract edge sets for dim=3.
Support node sets
Support edge sets for (dim == 3)
Add test cases