Skip to content

Conversation

ebranlard
Copy link
Contributor

@ebranlard ebranlard commented Aug 5, 2025

This pull request is a draft

Feature or improvement description

  • Adds source panels to OLAF to model walls, and bodies of arbitrary shapes, provided they are not moving or being deformed elastically.
  • Allows the AeroDyn driver to be run with 0 blades (i.e. just source panels)
  • Improved VTK reading and writting

Impacted areas of the software
AeroDyn / OLAF

Supporting information

  • Basic induced velocity calculation placed in FVW_BiotSavart.f90
  • Main source panel routines placed in FVW_Subs with the suffix: srcPnl_
  • All data stored into type T_SrcPanl* similar to T_Sgmt and T_Part.

Test results, if applicable
A unittest is included as part of FVW_Tests to check that the Cp of a sphere match the analytical value.

  • Input file documentation, live version here
  • Potential r-test of a sphere
  • Acknowledge sponsor Accelerate Wind in source code, and potential banner when Src Panel used.

@andrew-platt andrew-platt added this to the v5.0.0 milestone Aug 6, 2025
@andrew-platt andrew-platt self-assigned this Aug 6, 2025
@andrew-platt andrew-platt requested a review from jjonkman August 6, 2025 16:22
@andrew-platt andrew-platt marked this pull request as draft August 6, 2025 17:24
Copy link
Collaborator

@jjonkman jjonkman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review of the new input file documentation only.

- They can be placed in arbitrary order.
- They can be commented out with a `!` character at the beginning of the line.
- Blank lines or unsupported options are ignored (display to screen).
- If not provided their default value is being used, but the keyword "default" is not available.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reword this bullet:

  • If not provided, a default value will be used, but the "DEFAULT" keyword is not supported for the advanced options.

! Lines starting with `!` are ignored, empty lines are ignored
[...] etc
Currently, the advanced options supported as as follows:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change "as as" to "are as"

- They can be commented out with a `!` character at the beginning of the line.
- Blank lines or unsupported options are ignored (display to screen).
- If not provided their default value is being used, but the keyword "default" is not available.
- We recall that these are **beta features** and should mostly be used by developers.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest deleting this bullet or at least delete "we recall that".

0.75 kFrozenNWStart - Fraction of wake induced velocity at start of frozen wake, {default: 0.75}
0.5 kFrozenNWEnd - Fraction of wake induced velocity at end of frozen wake, {default: 0.5}
0.0 zGround - Ground height {default: 0.0}
0.1 zGroundPush - Ground push back {default: 0.1}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure how these options are sorted, but they are not alphabetical or sorted by topic. Suggest sorting in terms of their functionality, e.g., lifting line or source panel or ....

The connectivity of the polygons needs to be such that the normal points away from the body and
into the fluid. In the example below, the normals are in the z direction which would be typical
for a bottom wall with fluid above.
When use **WrVTK**, OLAF will write separate VTK files containing various information related to the source panels, such as the pressure coefficient, area, force per area, normals. Looking at the orientation of the normals is extremely important (In Paraview, select 3D Glyph, Arrows, and select the `Normals` output, scaled by the `Normals`).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change "when use" to "when using".

POLYGONS 2 10
4 0 1 4 3
4 1 2 5 4
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These polygons are defined clockwise when viewed from above. Wouldn't that mean (following the right-hand rule) that the normal vector points towards -z?

**zGround** [float] Height below which vortex points are not allowed to be and if any are present they will be pushed back above the ground at the height defined by **zGroundPush**. Default is `0.0`.
For MHK, the sea bed location, based on the water depth is added to **zGround**.

**zGroundPush** [float] Ground push back, see **zGround**. Default is `0.1`.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does zGroundPush have the units of meters?

!OMP END PARALLEL
end subroutine ui_quad_n1


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On lines 409, 410, 430, and 431 ...
Are those !OMP lines supposed to be comments? Or should they be !$OMP OpenMP directives that are missing the $?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants