You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+17-2Lines changed: 17 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,24 @@ All notable changes to this project will be documented in this file.
4
4
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
7
-
## Unreleased
7
+
#[1.7.0]
8
8
### Added
9
-
-**Edge grading**
9
+
- Automatic grading:
10
+
-`FixedCountGrader`: simple and quick, grades all blocks in all directions with the same number. Useful while developing meshes - settings blocking etc.
11
+
-`SimpleGrader`: quick and good for cases where blocks do not differ much in size. Sets simple-graded counts on blocks based on wanted cell size.
12
+
-`SmoothGrader`: Tries to stretch and squeeze cells within blocks by using two graded chops in each direction. The idea is to try to keep difference in cell size between neighbouring blocks as little as possible. Blocks that cannot maintain required cell size are simply/uniformly chopped.
13
+
- Possibility to define rings by their inner radius
14
+
- Spline round shapes
15
+
- Cylinders:
16
+
- Add symmetry patch to SemiCylinder
17
+
- New examples:
18
+
- Quarter cylinder
19
+
- One core cylinder
20
+
-`ShapeOptimizer` can optimize shapes _before_ they are added to mesh
21
+
22
+
### Changed
23
+
- Renamed `classy_blocks.typing` module to `classy_blocks.cbtyping` due to name clash
Copy file name to clipboardExpand all lines: README.md
+12-3Lines changed: 12 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -77,17 +77,15 @@ _Unchecked items are not implemented yet but are on a TODO list_
77
77
-[x] Ring (annulus)
78
78
-[x] Hemisphere
79
79
-[x] Stacks (collections of similar Shapes stacked on top of each other)
80
-
-[] Predefined parametric Objects
80
+
-[x] Predefined parametric Objects
81
81
-[x] T-joint (round pipes)
82
82
-[x] X-joint
83
83
-[x] N-joint (multiple pipes)
84
-
-[ ] Collector (a barrel with multiple radial outlets)
85
84
-[ ] Other building tools
86
85
-[x] Use existing Operation's Face to generate a new Operation
87
86
-[x] Chain Shape's start/end surface to generate a new Shape
88
87
-[x] Expand Shape's outer surface to generate a new Shape (Cylinder/Annulus > Annulus)
89
88
-[x] Contract Shape's inner surface into a new Shape (Annulus > Cylinder/Annulus)
90
-
-[ ] Join two Operations by extending their Edges
91
89
-[x] Offset Operation's faces to form new operations
92
90
93
91
## Modifiers
@@ -106,6 +104,7 @@ After blocks have been placed, it is possible to create new geometry based on pl
106
104
-[x] Automatic propagation of grading and cell count from a single block to all connected blocks as required by blockMesh
107
105
-[x] Projections of vertices, edges and block faces to geometry (triangulated and [searchable surfaces](https://www.openfoam.com/documentation/guides/latest/doc/guide-meshing-snappyhexmesh-geometry.html#meshing-snappyhexmesh-searchable-objects))
108
106
-[x] Face merging as described by [blockMesh user guide](https://www.openfoam.com/documentation/user-guide/4-mesh-generation-and-conversion/4.3-mesh-generation-with-the-blockmesh-utility#x13-470004.3.2). Breaks the pure-hexahedral-mesh rule but can often save the day for trickier geometries. Automatic duplication of points on merged block faces
107
+
-[x] Auto grading for high-Re meshes
109
108
-[ ] Auto grading for Low-Re meshes: boundary layer with specified cell-to-cell expansion, transition with 2:1 expansion, and specified 'bulk' cell size
110
109
111
110
# Examples
@@ -254,6 +253,16 @@ A collection of pre-assembled parametric Shapes, ready to be used for further co
254
253
Three pipes, joined in a single point.
255
254

256
255
256
+
## Automatic Grading
257
+
After blocks have been positioned their cell count must be defined. This can be done manually with something like `operation.chop(axis, start_size=..., c2c_expansion=...)` or anything that `.chop()` method supports. Not all blocks need to be chopped as cell counts will be propagated throughout the mesh so it is advisable to only _chop_ the minimum required.
258
+
259
+
All that can also be avoided by using automatic graders, for instance, `SmoothGrader` will set counts so that desired cell size will be obtained but will also use multigrading to keep cell sizes between neighbouring blocks as uniform as possible.
260
+
261
+

262
+
263
+
Also other, quicker and simpler graders are available.
264
+
The ultimate grader that will also create inflation layers on walls for resolved boundary layer is in development.
265
+
257
266
## Projection To Geometry
258
267
259
268
[Any geometry that snappyHexMesh understands](https://www.openfoam.com/documentation/guides/latest/doc/guide-meshing-snappyhexmesh-geometry.html)
0 commit comments