Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segment treecode #919

Merged
merged 4 commits into from
Feb 15, 2022
Merged

Segment treecode #919

merged 4 commits into from
Feb 15, 2022

Conversation

rcorniglion
Copy link
Contributor

@rcorniglion rcorniglion commented Nov 12, 2021

This pull request is ready to be merged.

Feature or improvement description
Adds a segment-based treecode algorithm based on the current particle-based treecode algorithm.

It removes the need to choose a number of approximating particles:

  • the moments in the treecode algorithm are computed from the existing vortex lines
  • the direct evaluations of induced velocity are done on the existing vortex line rather than approximating particles

A new option is added for VelocityMethod in the FVW input file. The segment treecode is VelocityMethod=4

The method gives results equivalent to the existing treecode using several particles but has a computational load similar to the existing treecode with only one particle. It improves the accuracy compared to the one particle method while it has a similar computational cost. The computational cost is slightly higher than the one particle method due to the more demanding moment computation.

Impacted areas of the software
OLAF in AeroDyn, documentation

Tasklist

  • Update documentation
  • Update r-test

Tests
Switching from regular segment to tree segment in the Quad-Rotor tests case had the following change in result (negligible) requiring to change the baselines.
image

-Adapted treecode based on segments, removes the need to choose a number
of particles per segment.
-The moments are computed directly from the segments.
-The direct evaluations are done on the original segments.
@rcorniglion rcorniglion changed the base branch from main to dev November 12, 2021 17:44
@ebranlard ebranlard self-assigned this Nov 16, 2021
@ebranlard ebranlard self-requested a review November 16, 2021 16:31
@ebranlard
Copy link
Contributor

Thank you Remi for sharing this! We've discussed this together a couple of months ago, and this is a great contribution thank you for doing this.

Can you update the documentation to mention this change? You can edit:
https://github.com/rcorniglion/openfast/blob/segment-treecode/docs/source/user/aerodyn-olaf/InputFiles.rst#speedup-options
and also change the example input file:
https://github.com/rcorniglion/openfast/blob/segment-treecode/docs/source/user/aerodyn-olaf/ExampleFiles/ExampleFile--OLAF.dat

For the r-test:
I would suggest to use your new segment tree for the QuadRotor test case. (https://github.com/OpenFAST/r-test/blob/dev/modules/aerodyn/ad_QuadRotor_OLAF/OLAF.dat). No need to add a new test case, but we might need to update the baseline results. We will also need to change all the OLAF input files of the repository to indicate the new option in the description.

Let me know if you need help for any of these. If you don't have the time to do it, you can give me access to your repo and I'll take care of it.

Emmanuel

@OpenFAST OpenFAST deleted a comment from codecov-commenter Nov 16, 2021
@OpenFAST OpenFAST deleted a comment from codecov-commenter Nov 16, 2021
@ebranlard
Copy link
Contributor

I've talked with Remi and took care of the remaining actions. This pull request is now ready to be merged.

@rafmudaf rafmudaf merged commit acfc500 into OpenFAST:dev Feb 15, 2022
@rafmudaf rafmudaf mentioned this pull request Mar 2, 2022
11 tasks
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