Skip to content

Commit

Permalink
Add documentation for helicoidal extrusion
Browse files Browse the repository at this point in the history
Add a test for helicoidal extrusion
refs idaholab#25486
  • Loading branch information
GiudGiud committed Sep 18, 2023
1 parent cf95198 commit 3395016
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,15 @@ Boundary ID remapping also works similarly to subdomain ID remapping. During ext

The other categories of the boundaries that can be defined are the interfaces between subdomains in different elevations, as well as the top/bottom surfaces of the subdomains. As each elevation interface (or top/bottom surface) is simply a duplicate of the `input` mesh, these interface (or top/bottom surface) boundaries correspond to the subdomains of the `input` mesh, which are referred to as `source_blocks`. Also, due to the nature of sidesets, they can be defined on either side of the elevation interface. Thus, both `upward` and `downward` boundaries can be defined. Here `upward` means the normal vector of the sideset has the "same-ish" direction as the [!param](/Mesh/AdvancedExtruderGenerator/direction) vector; `downward` means the normal vector of the sideset has the "opposite-ish" direction as the [!param](/Mesh/AdvancedExtruderGenerator/direction) vector.


## Helicoidal extrusion

The user may elect to perform a helicoidal extrusion along an axis going through the (0, 0, 0) point aligned with
the extrusion [!param](/Mesh/AdvancedExtruderGenerator/direction) vector parameter. The user must then select a non-zero
[!param](/Mesh/AdvancedExtruderGenerator/twist_pitch) parameter.
After an extrusion distance of a pitch, a full rotation of the 2D shape being extruded will have been performed.
By default, the rotation is performed in a clockwise direction around the axis of extrusion. To change the direction of the rotation, please specify a negative [!param](/Mesh/AdvancedExtruderGenerator/twist_pitch).

## Example Syntax

!listing test/tests/meshgenerators/advanced_extruder_generator/gen_extrude.i block=Mesh/extrude
Expand Down
Binary file not shown.
21 changes: 21 additions & 0 deletions test/tests/meshgenerators/advanced_extruder_generator/helicoidal.i
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
[Mesh]
[gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 6
ny = 6
nz = 0
zmin = 0
zmax = 0
elem_type = QUAD4
[]

[extrude]
type = AdvancedExtruderGenerator
input = gmg
heights = '6'
num_layers = '6'
direction = '0 0 1'
twist_pitch = 6
[]
[]
13 changes: 12 additions & 1 deletion test/tests/meshgenerators/advanced_extruder_generator/tests
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,8 @@
cli_args = 'Mesh/extrude/heights="1 2 -3" --mesh-only'
expect_err = "Cannot have both positive and negative heights!"

requirement = "The system shall error if missing a consistent positive or negative extrusion direction."
requirement = "The system shall error if missing a consistent positive or negative extrusion "
"direction."
design = "AdvancedExtruderGenerator.md"
issues = "#21273"
[]
Expand All @@ -107,4 +108,14 @@
design = 'AdvancedExtruderGenerator.md'
issues = '#21852'
[]
[helicoidal]
type = Exodiff
input = 'helicoidal.i'
exodiff = 'helicoidal_in.e'
cli_args = '--mesh-only'
recover = false

requirement = 'The system shall be able to helically extrude a 2D mesh into a twisted 3D mesh.'
issues = '#25486'
[]
[]

0 comments on commit 3395016

Please sign in to comment.