Incorporate topology#349
Draft
J15525 wants to merge 39 commits into
Draft
Conversation
- removed the old Mesh.jl-file. - Propogated name changes to other modules (their imports). - Updated the names of the associated test files. - Removed the old Mesh tests.
…he topology for CartesianGeometry.
….jl, and enlarge the type to include other geometries later
and rename `get_number_type` to `Base.eltype` and `get_vertex_coordinate` to `get_vertex_coordinates`. doc: Add docstrings to the get_vertex_coordinates and get_edge_coordinates functions. Also updated the CartesianGeometry docstring.
…o geometries and their tests.
This improves consistency and ensures that the error path has the correct variable name.
This was
linked to
issues
Mar 30, 2026
Contributor
|
This has to wait for SkeletonTopology to be finished. |
apalha
requested changes
Mar 30, 2026
apalha
left a comment
Contributor
There was a problem hiding this comment.
Needs to wait for SkeletonTopology.
Collaborator
Author
I also haven't finished everything yet. I just made it a draft pull request to make it more visible and trackable. |
Contributor
|
This is full of merge conflicts... |
Collaborator
Author
Should be better now, I forgot to select to right branch to merge to. |
CartesianPoints fixes and improvements - iteration_order was broken, permuted_cart_num_points (why not permuted_cartesian_points?) because the permuted points were generated from the iteration_order but they had to be generated by the inverse permutation of the iteration_order. This seemed to work fine if all constituents points were of the same size, but it would break if not. - Revamped the interface of CartesianPoints. Before it was assumed that all constituent_points were of the same type, i.e., all Vectors, or all LinRange. This was limiting because it was not possible to do something like constituent_points = (LinRange(0, 1, n), [1.0]), we would always have to do constituent_points = (LinRange(0, 1, n), LinRange(1, 1, 1)) or expand the first LinRange. This was done, I think, because a check was intended, and NTuple was used for this. Instead, we can use Varargs, which converts into a Tuple with the right types inside. The types are constrained to be derived from AbstractVector, so anything behaving like that is fine. Additionally, I also added a constraint so that all constituent points are all based on the same el_type, i.e., all need to be Float64 or Float32, for example. This type is also stored so that it can be retrieved as before.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Introduces topology to the other modules within Mantis. In particular, it ensures that
GeometryandFunctionSpacesare aware of this new struct. This means that the multi-patch setting can be handled uniformly using information from topology.