-
Notifications
You must be signed in to change notification settings - Fork 58
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
Fix to the computation of blade elements, no interpolation of geometr… #302
base: master
Are you sure you want to change the base?
Conversation
…y characteristics
Thanks for the contribution! Can you explain the changes and the motivation behind them? |
Hi Pete, thanks for the reply! |
I'm not so sure I agree with the premise that there should be an element at the exact tip of the blade. If we look at this diagram from a SOWFA presentation, it appears to follow the same process of defining geometry points (lines) and putting the elements between them (dots): What is your reasoning behind needing an element at the root and tip? |
Hi Pete. This is a nice diagram of the SOWFA presentation, I will explain my modification using it. I am assuming that the yellow bars denote the border of each blade element and the red dots denote the positions where the coefficients are stored and the forces are calculated. My modification (commit fcgaleazzo:fix-blade-length) assumes that the points in the elemenData dict are the red dots. So it calculates the yellow bars for each corresponding red dot, positioning the first yellow bar (BEMpoint1 of the first blade element) at the geometric root position, and the last yellow bar (BEMpoint2 of the last element) at the geometric tip position. There is no need to interpolate the coefficients from elementData. The SOWFA diagram would look like this: I hope that my reasoning is clearer now :) |
@@ -499,7 +504,7 @@ void Foam::fv::actuatorLineElement::writePerf() | |||
<< forceVector_.y() << "," << forceVector_.z() << "," | |||
<< endEffectFactor_ << "," << tangentialRefCoefficient() << "," | |||
<< normalRefCoefficient() << "," << tangentialRefForce() << "," | |||
<< normalRefForce() << endl; | |||
<< normalRefForce() << "," << dict_.lookup("pitch") << endl; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems to already have been looked up, no?
<< normalRefForce() << "," << dict_.lookup("pitch") << endl; | |
<< normalRefForce() << "," pitch << endl; |
You are right, line 507 was committed by accident |
Regarding the correction of the blade length, results using my modification have been compared to another code (Xcompact3D) in a paper that is already online. The results are nice, but only when applying the correction. Here the link: https://onlinelibrary.wiley.com/doi/10.1002/we.2714 |
…y characteristics. Following the discussion on Issue #301