View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003232||OpenFOAM||Feature||public||2019-05-08 21:45||2019-07-10 11:39|
|Platform||Linux||OS||OpenSUSE Leap||OS Version||15.0|
|Fixed in Version||dev|
|Summary||0003232: change blockMesh arc specification|
using 'arc' in blockMeshDict is quite tedious, since it requires computing a point on the arc.
In most cases it would be much easier to specify the centre of the circle, or a point within
the circle and the radius.
arc 0 1 (1 2 3)
arc 0 1 c (1 2 3) // Coordinates of the circle centre
arc 0 1 p (1 2 3) // Coordinates of a point on the circle (equivalent to present syntax)
arc 0 1 pr (1 2 3 50) // Point in circle and circle radius
|Tags||No tags attached.|
||The first two specification are OK but the last one is a bit odd, under what conditions would this be convenient?|
||Yes, at first this sounds weird. However the specification of many tank bottoms use with curvatures (giving radii/diameters) without centres.|
The third is a better specification, too, as it avoids an issue with the second potentially not being consistent. If in the second, the given centre is not the same distance from the two end points, then the arc is not well defined.
Point-in-circle and radius doesn't have this problem, though it does have a different issue. If the given point-in-circle is on the line between the end points then the arc can't be calculated. That's probably less likely to be an issue than getting the centre in the wrong place.
Alternatively, you could have circle-plane-normal and radius. That wouldn't have either issue.
After quite a lot of thought, I concluded that the best alternative specification is actually arc-angle and axis. Radius and axis isn't so good because it can't distinguish between major and minor arcs. Arc-angle and axis can, and still has the property that the user will probably just know what the values are off the top of their head without having to calculate anything.
The disadvantage is that the user could specify an axis which isn't perpendicular to the edge. In this case the arc gets some axial length and becomes a helix. This might seem a bit odd, but it's a well defined shape that tends to an arc as the axis becomes perpendicular to the edge, and behaves sensibly in all other limits and edge cases that I can think of.
I've put this in dev with the following syntax:
arc <vertex-0> <vertex-1> <angle> (<axis-x> <axis-y> <axis-z>)
The angle comes first, so we can determine which form is being used just by the presence of the open-bracket after the vertex labels.
|2019-05-08 21:45||gskillas||New Issue|
|2019-05-08 22:15||henry||Note Added: 0010452|
|2019-05-09 07:44||gskillas||Note Added: 0010453|
|2019-05-09 09:17||will||Note Added: 0010454|
|2019-07-10 11:39||will||Assigned To||=> will|
|2019-07-10 11:39||will||Status||new => resolved|
|2019-07-10 11:39||will||Resolution||open => fixed|
|2019-07-10 11:39||will||Fixed in Version||=> dev|
|2019-07-10 11:39||will||Note Added: 0010553|