Skip to content

Discuss splitting up mesh_creation_functions #319

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

Open
isteinbrecher opened this issue Apr 11, 2025 · 3 comments
Open

Discuss splitting up mesh_creation_functions #319

isteinbrecher opened this issue Apr 11, 2025 · 3 comments
Assignees

Comments

@isteinbrecher
Copy link
Collaborator

I would like to discuss a possible split up of the functionality in src/meshpy/mesh_creation_functions, especially the ones in beam_basic_geometry.py. I could think of the following renaming / split:

  • beam_line.py: create_beam_mesh_line
  • beam_arc.py: create_beam_mesh_arc_segment_via_rotation, create_beam_mesh_arc_segment_via_axis, create_beam_mesh_arc_segment_2d
  • beam_node_continuation.py: create_beam_mesh_line_at_node, create_beam_mesh_arc_at_node (or move them to the respective line and arc file)
  • beam_helix.py: create_beam_mesh_helix
  • beam_parametric_curve.py: As is
  • beam_from_nurbs_curve.py As is
  • beam_stent.py -> rename this to something less generic, e.g., beam_stent_auricchio_2012.py
  • beam_honeycomb.py: As is
  • beam_fibers_in_rectangle.py: As is
  • beam_wire.py: As is

This would be a breaking change (I can already see @knarfnitram sigh) but I think this could help users to get to know what mesh creation functionality exists. Not just new users, I also get confused over and over again.

@davidrudlstorfer
Copy link
Collaborator

davidrudlstorfer commented Apr 11, 2025

100%

I fully support this

@knarfnitram
Copy link
Collaborator

I can understand that you want to refactor this. What do you think about distinguishing somehow between applications?
In my opinion create_wire_fibers, beam_fibers_in_rectangle, beam_stent and honey_comb are some kind of application oriented meshes, whereas _create_beam_mesh_line and create_beam_mesh_arc_segment_via_rotation offers core mesh creation functionalities.

My comment regarding breaking changes: just a normal day...
Image

@isteinbrecher
Copy link
Collaborator Author

I had the same thoughts. What about putting the “base” mesh creation functions directly in mesh_creation_functions and the application examples in mesh_creation_functions/applications?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants