Skip to content

Commit

Permalink
Release v1.3.3
Browse files Browse the repository at this point in the history
- Fixed bug in `Log.h` which resulted from the additional `static` declaration on `LOG_PROPERTIES` in commit [`5c2cebc`](5c2cebc).
  Due to this declaration, `LOG_PROPERTIES` was no longer treated as singleton and thus the logging properties were no longer used by `LOG`.
  The singleton approach for `LogProperties` and `LOG_PROPERTIES` is now implemented in a different way.
- Fixed vertices are now actually placed into the domain. Before, they were only considered in the mesh size function.

- Put `FrontInitData` into separate file
- Change initialization of `FrontInitData` structure for handling fixed interior edges
- Change name of `Edge` attribute `marker` to `color`
- Change name of `TriangulationStrategy` to `Triangulation`
- Change name of `QuadLayerStrategy` to `QuadLayering`
- Change name of `QuadRefinementStrategy` to `QuadRefinement`
- Change name of `Tri2QuadStrategy` to `Tri2QuadModification`
- Change name of `LaplaceSmoothingStrategy` to `LaplaceSmoothing`
- Change name of `TorsionSmoothingStrategy` to `TorsionSmoothing`
- Change name of `MixedSmoothingStrategy` to `MixedSmoothing`

- `EdgeProperty` - similarly to `VertexProperty`, but for edges
- Implementation of fixed interior edges
- New example file `input/09_fixed_edges.para`
  • Loading branch information
FloSewn committed Jul 5, 2024
2 parents 5bd09f0 + 0da27d0 commit ee91801
Show file tree
Hide file tree
Showing 56 changed files with 1,463 additions and 732 deletions.
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,37 @@
# Changelog

## Planned changes for upcoming release

- Fix quad layer bug described in issue [#??]
- Implement fixed number of segments on boundary edges / periodic edges?
- Enhance interface for definition of fixed edges (similar to boundary edge definition) and add interface to define fixed edges through CSV files

### Fixed
- Fixed bug in `Log.h` which resulted from the additional `static` declaration on `LOG_PROPERTIES` in commit [`5c2cebc`](https://github.com/FloSewn/TQMesh/commit/5c2cebc).
Due to this declaration, `LOG_PROPERTIES` was no longer treated as singleton and thus the logging properties were no longer used by `LOG`.
The singleton approach for `LogProperties` and `LOG_PROPERTIES` is now implemented in a different way.
- Fixed vertices are now actually placed into the domain. Before, they were only considered in the mesh size function.

### Changed

- Put `FrontInitData` into separate file
- Change initialization of `FrontInitData` structure for handling fixed interior edges
- Change name of `Edge` attribute `marker` to `color`
- Change name of `TriangulationStrategy` to `Triangulation`
- Change name of `QuadLayerStrategy` to `QuadLayering`
- Change name of `QuadRefinementStrategy` to `QuadRefinement`
- Change name of `Tri2QuadStrategy` to `Tri2QuadModification`
- Change name of `LaplaceSmoothingStrategy` to `LaplaceSmoothing`
- Change name of `TorsionSmoothingStrategy` to `TorsionSmoothing`
- Change name of `MixedSmoothingStrategy` to `MixedSmoothing`

### Added

- `EdgeProperty` - similarly to `VertexProperty`, but for edges
- Implementation of fixed interior edges
- New example file `input/09_fixed_edges.para`


## [1.3.2] - 2024-06-10

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)

project(TQMesh
LANGUAGES CXX
VERSION 1.3.2)
VERSION 1.3.3)

set( BIN ${CMAKE_SOURCE_DIR}/bin )
if(WIN32)
Expand Down
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,15 @@ via CSV files. This example shows an airfoil that has been meshed in this way.
<img src="doc/airfoil.png" alt="TQMesh-airfoil" width="350"/>
</details>


<details>
<summary>Fixed interior edges</summary>

Fixed edges can be defined within the domain to guide the meshing process.

<img src="doc/fixed_edges.png" alt="TQMesh-fixed-edges" width="500"/>
</details>

## Output format
Currently, **TQMesh** features the VTU output format (which can be read for example by Paraview) or alternatively a simple text output format.

Expand Down Expand Up @@ -268,7 +277,6 @@ The following plots show some performance statistics.
<img src="doc/BenchmarkPlot_QTree.png" alt="TQMesh-QTree-Benchmark" width="400"/> <img src="doc/BenchmarkPlot_Mesh.png" alt="TQMesh-Mesh-Benchmark" width="400"/>

## To Do's
* Fixed edges within domains
* Enhanced quad triangle-to-quad morphing
* Boundary definition via splines
* Improved documentation / testing
Expand Down
Binary file added doc/fixed_edges.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions input/01_simple_triangular_mesh.para
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Define mesh:
# Boundaries are generally defined in terms of squeces of
# vertex coordinates that define a closed polygonal chain.
# Additionally, each boundary edge is associated to an
# integer which we refer to as "marker".
# integer which we refer to as "color".
# We will define the exterior boundary of our mesh, that
# has the following shape:
#
Expand All @@ -42,7 +42,7 @@ Define mesh:
# (0.0, 0.0) (5.0, 0.0)
#
# The tuples denote boundary vertex coordinates and the
# numbers in brackets denote corresponding edge markers.
# numbers in brackets denote corresponding edge colors.
#---------------------------------------------------------
Define exterior boundary:
0.0, 0.0, 1
Expand All @@ -68,7 +68,7 @@ Define mesh:
#
# This boundary is made up from the vertex sequence:
# [(1.5,1.5), (1.5,3.5), (3.5,3.5)]
# All edges will obtain the marker number "3".
# All edges will obtain the color number "3".
#
# At vertex (1.5,1.5), we will refine the mesh locally by
# providing additional refinement properties to it.
Expand Down
10 changes: 5 additions & 5 deletions input/02_square_in_channel.para
Original file line number Diff line number Diff line change
Expand Up @@ -66,14 +66,14 @@ Define mesh:
End boundary vertices

Define exterior boundary edges:
0, 1, 2 # 2: Marker for bottom edge
1, 2, 3 # 3: Marker for right edge
2, 3, 2 # 2: Marker for top edge
3, 0, 1 # 1: Marker for left edge
0, 1, 2 # 2: Color for bottom edge
1, 2, 3 # 3: Color for right edge
2, 3, 2 # 2: Color for top edge
3, 0, 1 # 1: Color for left edge
End exterior boundary edges

Define interior boundary edges:
4, 5, 4 # Marker 4 for all interior edges
4, 5, 4 # Color 4 for all interior edges
5, 6, 4 # ...
6, 7, 4
7, 4, 4
Expand Down
8 changes: 4 additions & 4 deletions input/03_boundary_shapes.para
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,16 @@ Define mesh:
# circles, squares and triangles.
#
# Arguments for circular interior boundary:
# (marker, x-center, y-center, radius, no. of vertices)
# (color, x-center, y-center, radius, no. of vertices)
#
# Arguments for rectangular interior boundary:
# (marker, x-center, y-center, width, height)
# (color, x-center, y-center, width, height)
#
# Arguments for squared interior boundary:
# (marker, x-center, y-center, edge length)
# (color, x-center, y-center, edge length)
#
# Arguments for triangular interior boundary:
# (marker, x-center, y-center, edge length)
# (color, x-center, y-center, edge length)
#
#---------------------------------------------------------
Define exterior rectangular boundary: 1, 1.0, 1.0, 8.00, 8.00
Expand Down
2 changes: 1 addition & 1 deletion input/04_fixed_vertices.para
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Define mesh:
# Arguments:
# 1) X-coordinate
# 2) Y-coordinate
# 3) Edge marker
# 3) Edge color
#---------------------------------------------------------
Define exterior boundary:
0.0, 0.0, 1
Expand Down
2 changes: 1 addition & 1 deletion input/05_merge_meshes.para
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Define mesh:
# Arguments:
# 1) X-coordinate
# 2) Y-coordinate
# 3) Edge marker
# 3) Edge color
#---------------------------------------------------------
Define exterior boundary:
0.0, 0.0, 1
Expand Down
67 changes: 67 additions & 0 deletions input/09_fixed_interior_edges.para
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
#===========================================================
# TQMESH
#===========================================================

#-----------------------------------------------------------
# MESH DEFINITION
#-----------------------------------------------------------
Define mesh:
Element size: 0.35
Element color: 1
Meshing algorithm: Triangulation
Number of quad refinements: 1
Number of smoothing iterations: 3

# Output formats: COUT, TXT, VTU
Output file format: TXT
Output file prefix: ./fixed_edges

#---------------------------------------------------------
# BOUNDARIES
#---------------------------------------------------------
Define boundary vertices:
1.0, 0.0 # Vertex 0
6.0, 0.5 # Vertex 1
4.0, 5.0 # Vertex 2
-1.0, 4.5 # Vertex 3
End boundary vertices

Define exterior boundary edges:
0, 1, 1
1, 2, 2
2, 3, 3
3, 0, 4
End exterior boundary edges

#---------------------------------------------------------
# FIXED VERTICES & FIXED EDGES
#
# Similar to interior / exterior boundary edges, we define
# fixed edges by providing the IDs of the respective start
# and ending vertices. However, fixed vertices do not
# require the additional color values.
# Note, that the vertex ID count starts with boundary v
# vertices and proceeds with fixed vertices - as indicated
# in the comments.
#---------------------------------------------------------
Define fixed vertices:
2.5, 2.5, 0.05, 1.0 # Vertex 5
1.5, 1.5, 0.05, 1.0 # Vertex 6
3.5, 1.5, 0.05, 1.0 # Vertex 7
3.5, 3.5, 0.05, 1.0 # Vertex 8
1.5, 3.5, 0.05, 1.0 # Vertex 9
End fixed vertices

Define fixed edges:
4, 5 # This edge connects vertex 4 and vertex 5,
4, 6 # this edge connects vertex 4 and vertex 6
4, 7 # and so on ...
4, 8
5, 6
6, 7
7, 8
8, 5
End fixed edges

End mesh

1 change: 1 addition & 0 deletions scripts/examples_tqmesh.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ set -e
./bin/run_examples 07
./bin/run_examples 08
./bin/run_examples 09
./bin/run_examples 10

if [ $? -eq 0 ]; then
echo ALL TESTS PASSED
Expand Down
Loading

0 comments on commit ee91801

Please sign in to comment.