damogranlabs / classy_blocks

Python classes for easier creation of OpenFOAM's blockMesh dictionaries.
MIT License
124 stars 37 forks source link

feature: more edge types #22

Closed bjnieuwboer closed 1 year ago

bjnieuwboer commented 1 year ago

I've been interested in blockmesh creation codes for a while and I've used and adapted the ofblockmeshdicthelper (https://github.com/takaakiaoki/ofblockmeshdicthelper)

Now, I've been browsing around in your code, and from what I've seen this looks like the best blockmesh creator available! I think you have created a nice framework where extensions are possible. However, the edge type creation is not very flexible. I did miss the feature to use more edge types such as

The new arc methods allow for a far better readable blockmesh file.

Since you are overhauling the code in the branch: feature/optimization, would this be the right time to add the possibility to use different types of edges?

FranzBangar commented 1 year ago

Thanks for your input! I'm always glad to hear this code is useful to someone else.

I had thought about polyline edges before. I'll add that option to the next version (at the moment I can't tell you when exactly).

About different arc edge specifications: so far, classy outputs blockMeshDicts compatible with both versions. Using one or the other edge specification will break compatibility with the other OF version. If it's a matter of readability of blockMeshDicts (keep in mind the whole point of this package is to avoid writing or reading those manually :) ), then center point and angle/axis could be output to a comment next to edge definition.

If you want to enter edges manually (as opposed to ones created by Revolves and Cylinders and whatnot), it's totally safe to implement all options, then output just the classic (edge1 edge2 point) to blockMeshDict.

FranzBangar commented 1 year ago

Implemented in the wip/rewrite branch: Arc, Origin, Angle, all output as Arc but the original data still displayed as a comment.

bjnieuwboer commented 1 year ago

Thanks for implementing this feature.

FranzBangar commented 1 year ago

You can try it out in the wip/rewrite branch but it'll take me a few more days to merge into master