-
Notifications
You must be signed in to change notification settings - Fork 7
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
Calculating Moments #14
Comments
I identified this section of code for computing moments. Hope you will be able to help me out and throw some light on this. Thanks. **for j=1:nofderiv
IW(:,j,1)=DWX*gamma(:,j);
IW(:,j,2)=DWY*gamma(:,j);
IW(:,j,3)=DWZ*gamma(:,j);
G(:,1)=gamma(:,j).*lehat(:,1); %Aligning vorticity along panel vortex
G(:,2)=gamma(:,j).*lehat(:,2);
G(:,3)=gamma(:,j).*lehat(:,3);
wind1=state.AS*([cos(state.alpha)*cos(state.betha) -cos(state.alpha)*sin(state.betha) sin(state.alpha)]); %Aligning with wind
for i=1:a
Wind(i,:)=wind1-squeeze(IW(i,j,:))';
Rot(i,:)=cross((lattice.COLLOC(i,:)-geo.CG),[state.P state.Q state.R]); %Calculating rotations
end %^^^^^^^---new stuff in T131 %Thanks Luca for pointing out the error here
Wind=Wind+Rot; %Adding rotations
Fprim(:,j,:)=state.rho*cross(Wind,G); %Force per unit length
F(:,j,1)=Fprim(:,j,1).*Lle; %Force per panel
F(:,j,2)=Fprim(:,j,2).*Lle; %Force per panel
F(:,j,3)=Fprim(:,j,3).*Lle; %Force per panel
C3(:,:,1)=c3(:,1)*ones(1,nofderiv);
C3(:,:,2)=c3(:,2)*ones(1,nofderiv);
C3(:,:,3)=c3(:,3)*ones(1,nofderiv);
end
results.F=F;
results.FORCE=sum(F,1); %Total force
M=cross(C3,F,3); %Moments per panel
results.M=M;
results.MOMENTS=sum(M,1); %Summing up moments
results.gamma=gamma;
end** |
In PyTornado, we compute a global moment vector, i.e. moments (Mx, My, Mz) about some reference point (RP). The RP position must be specified in the aircraft input file (see aircraft file). For each panel in the VLM mesh a force vector is computed. The force acts in the middle of the quarter chord line (not collocation point/control point). The moment contribution of this force is the cross product of lever arm and force vector, and it is added up to the global moment vector. Code implementation is found here:
Reference literature:
Please note, I cannot give any support on UVLM, since I do not know it in detail. I can only refer to the literature here, namely Katz and Plotkin, which I think is a good starting point:
Same for Matlab Tornado, I am afraid. I only know PyTornado and am happy to help with any issues related to this implementation. (I cannot answer everything here, but I try my best to help with what I know. I can only give support here in my limited free time, so don't always expect immediate answers. Thanks.) |
Thanks for your reply. I really appreciate the time you take to help me out.
Can you please tell me what is the BoundLegMidPoint? Is it the middle of
the vortex element? I was not able to figure out from Drela's ref. you sent
me.
double P_x = lattice->BoundLegMidpoint[index_i ];
double P_y = lattice->BoundLegMidpoint[index_i + 1];
double P_z = lattice->BoundLegMidpoint[index_i + 2];
…On Fri, Jan 3, 2020 at 1:37 PM Aaron Dettmann ***@***.***> wrote:
In PyTornado, we compute a global moment vector, i.e. moments (*Mx*, *My*,
*Mz*) about the aircraft's centre of gravity (CG). The CG position must
be specified in the aircraft input file (see aircraft file
<https://pytornado.readthedocs.io/en/latest/user_guide/input_file_aircraft.html>
).
For each panel in the VLM mesh a force vector is computed. The force acts
in the middle of the quarter chord line (not collocation point/control
point). The moment contribution of this force is the cross product of lever
arm and force vector, and it is added up to the global moment vector.
Code implementation is found here:
https://github.com/airinnova/pytornado/blob/ebf98707793dc05346ee28372325f07aa68ca3bd/src/lib/pytornado/aero/c_results.cpp#L168
Reference literature:
- *Drela, Mark: Flight Vehicle Aerodynamics. Cambridge, Massachusetts:
MIT Press, 2014. - ISBN 978-0-262-52644-9*
Please note, I cannot give any support on UVLM, since I do not know it in
detail. I can only refer to the literature here, namely Katz and Plotkin,
which I think is a good starting point:
- *Katz, J. ; Plotkin, A.: Low-Speed Aerodynamics. 2. Cambridge
University Press, 2001 (Cambridge Aerospace Series).
http://dx.doi.org/10.1017/CBO9780511810329
<http://dx.doi.org/10.1017/CBO9780511810329>. – ISBN 978-0-521-66219-2*
Same for Matlab Tornado, I am afraid. I only know *PyTornado* and am
happy to help with any issues related to this implementation. (I cannot
answer everything here, but I try my best to help with what I know. I can
only give support here in my limited free time, so don't always expect
immediate answers. Thanks.)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#14?email_source=notifications&email_token=AHHO5APYMIZKZYVUEBDLJBTQ36V25A5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEICEPMA#issuecomment-570705840>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHHO5AO4VMGVCVSQFMX2MJ3Q36V25ANCNFSM4KCPKULA>
.
|
Is it the middle of the quarter chord line?
On Fri, Jan 3, 2020 at 7:43 PM Bharath ae15d019 <ae15d019@smail.iitm.ac.in>
wrote:
… Thanks for your reply. I really appreciate the time you take to help me
out.
Can you please tell me what is the BoundLegMidPoint? Is it the middle of
the vortex element? I was not able to figure out from Drela's ref. you sent
me.
double P_x = lattice->BoundLegMidpoint[index_i ];
double P_y = lattice->BoundLegMidpoint[index_i + 1];
double P_z = lattice->BoundLegMidpoint[index_i + 2];
On Fri, Jan 3, 2020 at 1:37 PM Aaron Dettmann ***@***.***>
wrote:
> In PyTornado, we compute a global moment vector, i.e. moments (*Mx*, *My*,
> *Mz*) about the aircraft's centre of gravity (CG). The CG position must
> be specified in the aircraft input file (see aircraft file
> <https://pytornado.readthedocs.io/en/latest/user_guide/input_file_aircraft.html>
> ).
>
> For each panel in the VLM mesh a force vector is computed. The force acts
> in the middle of the quarter chord line (not collocation point/control
> point). The moment contribution of this force is the cross product of lever
> arm and force vector, and it is added up to the global moment vector.
>
> Code implementation is found here:
>
>
> https://github.com/airinnova/pytornado/blob/ebf98707793dc05346ee28372325f07aa68ca3bd/src/lib/pytornado/aero/c_results.cpp#L168
>
> Reference literature:
>
> - *Drela, Mark: Flight Vehicle Aerodynamics. Cambridge,
> Massachusetts: MIT Press, 2014. - ISBN 978-0-262-52644-9*
>
> Please note, I cannot give any support on UVLM, since I do not know it in
> detail. I can only refer to the literature here, namely Katz and Plotkin,
> which I think is a good starting point:
>
> - *Katz, J. ; Plotkin, A.: Low-Speed Aerodynamics. 2. Cambridge
> University Press, 2001 (Cambridge Aerospace Series).
> http://dx.doi.org/10.1017/CBO9780511810329
> <http://dx.doi.org/10.1017/CBO9780511810329>. – ISBN 978-0-521-66219-2*
>
> Same for Matlab Tornado, I am afraid. I only know *PyTornado* and am
> happy to help with any issues related to this implementation. (I cannot
> answer everything here, but I try my best to help with what I know. I can
> only give support here in my limited free time, so don't always expect
> immediate answers. Thanks.)
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#14?email_source=notifications&email_token=AHHO5APYMIZKZYVUEBDLJBTQ36V25A5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEICEPMA#issuecomment-570705840>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AHHO5AO4VMGVCVSQFMX2MJ3Q36V25ANCNFSM4KCPKULA>
> .
>
|
Each panel in the VLM has a horseshoe vortex associated with it. Each horseshoe consists of three legs, a bound leg and two trailing legs. Drela or Katz and Plotkin describe this fairly detailed, and I have also added a short summary in the documentation including illustrations which should make the geometry pretty clear: |
Thanks Aaron. So the moment arm is the distance from the midpoint of the
quarter chord line of *each *panel to the reference point.
I still find the moments computed from UVLM to be different from that of
steady VLM.
…On Sat, Jan 4, 2020 at 2:08 AM Aaron Dettmann ***@***.***> wrote:
Each panel in the VLM has a horseshoe vortex associated with it. Each
horseshoe consists of three legs, a bound leg and two trailing legs. Drela
or Katz and Plotkin describe this fairly detailed, and I have also added a
short summary in the documentation including illustration which should make
the geometry pretty clear:
- https://pytornado.readthedocs.io/en/latest/theory/index.html
[image: Horseshoe]
<https://raw.githubusercontent.com/airinnova/pytornado/9300599f5f43258187a36e9a5b5f99df1c842d7d/docs/source/theory/_static/images/horseshoe_vortex_geometry.svg?sanitize=true>
[image: Discretisation]
<https://raw.githubusercontent.com/airinnova/pytornado/9300599f5f43258187a36e9a5b5f99df1c842d7d/docs/source/theory/_static/images/vlm_discretisation.svg?sanitize=true>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#14?email_source=notifications&email_token=AHHO5AI4YQNWSXFVW7JMSQ3Q4BNYVA5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEICU2WA#issuecomment-570772824>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHHO5AJRHZ7IYW2ZOYMTTX3Q4BNYVANCNFSM4KCPKULA>
.
|
Yes, correct. If you have N panels, there will be N different lever arms, all connected to your chosen reference point. |
Aaron, I am having some trouble with the UVLM code. I have expressions for
lift and drag forces. Could you please check and tell me if they are right?
…On Sat, Jan 4, 2020 at 5:14 AM Aaron Dettmann ***@***.***> wrote:
So the moment arm is the distance from the midpoint of the quarter chord
line of *each *panel to the reference point.
Yes, correct. If you have *N* panels, there will be *N* different lever
arms, all connected to your chosen reference point.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#14?email_source=notifications&email_token=AHHO5AM2VCKELXSZCXIOMV3Q4CDUZA5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEICXY4Q#issuecomment-570784882>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHHO5ALYKQBYGRDFWZSR6C3Q4CDUZANCNFSM4KCPKULA>
.
|
I know you mentioned you couldn't help out, but I am not familiar with VLM
at all. So I thought you would be in a better position to help.
On Sat, Jan 4, 2020 at 9:56 AM Bharath ae15d019 <ae15d019@smail.iitm.ac.in>
wrote:
… Aaron, I am having some trouble with the UVLM code. I have expressions for
lift and drag forces. Could you please check and tell me if they are right?
On Sat, Jan 4, 2020 at 5:14 AM Aaron Dettmann ***@***.***>
wrote:
> So the moment arm is the distance from the midpoint of the quarter chord
> line of *each *panel to the reference point.
>
> Yes, correct. If you have *N* panels, there will be *N* different lever
> arms, all connected to your chosen reference point.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#14?email_source=notifications&email_token=AHHO5AM2VCKELXSZCXIOMV3Q4CDUZA5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEICXY4Q#issuecomment-570784882>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AHHO5ALYKQBYGRDFWZSR6C3Q4CDUZANCNFSM4KCPKULA>
> .
>
|
Hello Bharath, if you have doubts about the correctness of a UVLM implementation, wouldn't it be best to get in contact with the author/s of that program. They will probably know their implementation a lot better, and also know the references they may have used. |
I have tried talking to Katz, but he seems to not have the time (being a
professor and all). Since you are a VLM developer I thought you will have
some quick answers. I just found out that my influence matrix between UVLM
and PyTornado aren't the same. I wonder where I could have gone wrong.
…On Sun, Jan 5, 2020 at 2:41 AM Aaron Dettmann ***@***.***> wrote:
Hello Bharath, if you have doubts about the correctness of a UVLM
implementation, wouldn't it be best to get in contact with the author/s of
that program. They will probably know their implementation a lot better,
and also know the references they may have used.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#14?email_source=notifications&email_token=AHHO5AM4I74KFSDVIY5PQXDQ4G2NDA5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIDTSJY#issuecomment-570898727>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHHO5AJ42OXAKCAPMBKY4ALQ4G2NDANCNFSM4KCPKULA>
.
|
Dear Aaron
Could you please send the link of the code where the influence matrix is
calculated? I hope you will be able to help me with the details of that.
Bharath
…On Sun, Jan 5, 2020 at 4:11 PM Aaron Dettmann ***@***.***> wrote:
Hello Bharath, if you have doubts about the correctness of a UVLM
implementation, wouldn't it be best to get in contact with the author/s of
that program. They will probably know their implementation a lot better,
and also know the references they may have used.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#14?email_source=notifications&email_token=AHHO5AM4I74KFSDVIY5PQXDQ4G2NDA5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIDTSJY#issuecomment-570898727>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHHO5AJ42OXAKCAPMBKY4ALQ4G2NDANCNFSM4KCPKULA>
.
|
Hello Bharath, sorry that I cannot be of any bigger help with your project at the moment. The VLM influence coefficient matrix/downwash matrix is computed in C++ code here:
This function is called from Python via a wrapper function called pytornado/src/lib/pytornado/aero/vlm.py Line 440 in a2c7703
Again, the implementation is based on the book by Drela, 2014. |
You have been of great help. No questions there.
Thanks for the links.
…On Fri, Jan 10, 2020 at 2:06 PM Aaron Dettmann ***@***.***> wrote:
Hello Bharath, sorry that I cannot be of any bigger help with your project
at the moment.
The VLM influence coefficient matrix/downwash matrix is computed in C++
code here:
https://github.com/airinnova/pytornado/blob/a2c77038005eb001c86b4749ffde4db4fdaa9cc7/src/lib/pytornado/aero/c_downwash.cpp#L27
This function is called from Python via a wrapper function called
py2c_downwash():
https://github.com/airinnova/pytornado/blob/a2c77038005eb001c86b4749ffde4db4fdaa9cc7/src/lib/pytornado/aero/vlm.py#L440
Again, the implementation is based on the book by *Drela, 2014*.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#14?email_source=notifications&email_token=AHHO5AOGXJ72ASPBT776ZZLQ5AXP7A5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEITDNNA#issuecomment-572929716>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHHO5ALECMHNHR4U6NK4C2LQ5AXP7ANCNFSM4KCPKULA>
.
|
Is the normal vector in the rotated configuration (after rotating by
sideslip and angle of attack) or the initial configuration?
…On Fri, Jan 10, 2020 at 2:06 PM Aaron Dettmann ***@***.***> wrote:
Hello Bharath, sorry that I cannot be of any bigger help with your project
at the moment.
The VLM influence coefficient matrix/downwash matrix is computed in C++
code here:
https://github.com/airinnova/pytornado/blob/a2c77038005eb001c86b4749ffde4db4fdaa9cc7/src/lib/pytornado/aero/c_downwash.cpp#L27
This function is called from Python via a wrapper function called
py2c_downwash():
https://github.com/airinnova/pytornado/blob/a2c77038005eb001c86b4749ffde4db4fdaa9cc7/src/lib/pytornado/aero/vlm.py#L440
Again, the implementation is based on the book by *Drela, 2014*.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#14?email_source=notifications&email_token=AHHO5AOGXJ72ASPBT776ZZLQ5AXP7A5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEITDNNA#issuecomment-572929716>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHHO5ALECMHNHR4U6NK4C2LQ5AXP7ANCNFSM4KCPKULA>
.
|
I would also like to view the downwash matrix. Is it possible to store it
in a file?
On Sun, Jan 12, 2020 at 10:11 PM Bharath ae15d019 <ae15d019@smail.iitm.ac.in>
wrote:
… Is the normal vector in the rotated configuration (after rotating by
sideslip and angle of attack) or the initial configuration?
On Fri, Jan 10, 2020 at 2:06 PM Aaron Dettmann ***@***.***>
wrote:
> Hello Bharath, sorry that I cannot be of any bigger help with your
> project at the moment.
>
> The VLM influence coefficient matrix/downwash matrix is computed in C++
> code here:
>
>
> https://github.com/airinnova/pytornado/blob/a2c77038005eb001c86b4749ffde4db4fdaa9cc7/src/lib/pytornado/aero/c_downwash.cpp#L27
>
> This function is called from Python via a wrapper function called
> py2c_downwash():
>
>
> https://github.com/airinnova/pytornado/blob/a2c77038005eb001c86b4749ffde4db4fdaa9cc7/src/lib/pytornado/aero/vlm.py#L440
>
> Again, the implementation is based on the book by *Drela, 2014*.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#14?email_source=notifications&email_token=AHHO5AOGXJ72ASPBT776ZZLQ5AXP7A5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEITDNNA#issuecomment-572929716>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AHHO5ALECMHNHR4U6NK4C2LQ5AXP7ANCNFSM4KCPKULA>
> .
>
|
View => Get the values of the downwash matrix
On Mon, Jan 13, 2020 at 5:04 AM Bharath ae15d019 <ae15d019@smail.iitm.ac.in>
wrote:
… I would also like to view the downwash matrix. Is it possible to store it
in a file?
On Sun, Jan 12, 2020 at 10:11 PM Bharath ae15d019 <
***@***.***> wrote:
> Is the normal vector in the rotated configuration (after rotating by
> sideslip and angle of attack) or the initial configuration?
>
> On Fri, Jan 10, 2020 at 2:06 PM Aaron Dettmann ***@***.***>
> wrote:
>
>> Hello Bharath, sorry that I cannot be of any bigger help with your
>> project at the moment.
>>
>> The VLM influence coefficient matrix/downwash matrix is computed in C++
>> code here:
>>
>>
>> https://github.com/airinnova/pytornado/blob/a2c77038005eb001c86b4749ffde4db4fdaa9cc7/src/lib/pytornado/aero/c_downwash.cpp#L27
>>
>> This function is called from Python via a wrapper function called
>> py2c_downwash():
>>
>>
>> https://github.com/airinnova/pytornado/blob/a2c77038005eb001c86b4749ffde4db4fdaa9cc7/src/lib/pytornado/aero/vlm.py#L440
>>
>> Again, the implementation is based on the book by *Drela, 2014*.
>>
>> —
>> You are receiving this because you authored the thread.
>> Reply to this email directly, view it on GitHub
>> <#14?email_source=notifications&email_token=AHHO5AOGXJ72ASPBT776ZZLQ5AXP7A5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEITDNNA#issuecomment-572929716>,
>> or unsubscribe
>> <https://github.com/notifications/unsubscribe-auth/AHHO5ALECMHNHR4U6NK4C2LQ5AXP7ANCNFSM4KCPKULA>
>> .
>>
>
|
The final VLM mesh is computed in the C++ code, and here panel normal vectors are computed from the panel geometries. But to account for aerofoils or deflected control surfaces, the normals are modified in the Python code afterwards. The rotation is done using the Euler-Rodrigues formula. [This implementation is actually not optimal and may increase computation time a bit.] Rotation of panel normals after mesh generation: pytornado/src/lib/pytornado/aero/vlm.py Line 376 in a2c7703
So far there is no option to store the matrix. It can be accessed via the Python API. I can add support for storing the matrix in a file. I will see if I have time later today or tomorrow (but I cannot promise). |
Can you also add a feature to store coordinates of the middle of the
quarter chord line from which moments are calculated?
…On Tue, Jan 14, 2020 at 3:22 PM Aaron Dettmann ***@***.***> wrote:
Is the normal vector in the rotated configuration (after rotating by
sideslip and angle of attack) or the initial configuration?
The final VLM mesh is computed in the C++ code, and here panel normal
vectors are computed from the panel geometries. But to account for
*aerofoils* or *deflected control surfaces*, the normals are modified in
the Python code afterwards. The rotation is done using the Euler-Rodrigues
formula <https://en.wikipedia.org/wiki/Euler%E2%80%93Rodrigues_formula>.
[This implementation is actually not optimal and may increase computation
time a bit.]
Rotation of panel normals after mesh generation:
https://github.com/airinnova/pytornado/blob/a2c77038005eb001c86b4749ffde4db4fdaa9cc7/src/lib/pytornado/aero/vlm.py#L377
I would also like to view the downwash matrix. Is it possible to store it
in a file?
So far there is no option to store the matrix. It can be accessed via the
Python API. I can add support for storing the matrix in a file. I will see
if I have time later today or tomorrow (but I cannot promise).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#14?email_source=notifications&email_token=AHHO5AL6CGYNKFVAD3GQUADQ5WDMBA5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEI37MEQ#issuecomment-574092818>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHHO5ANA4XCFYJL74KXIGBDQ5WDMBANCNFSM4KCPKULA>
.
|
I have now added an option to save the downwash matrix and the right-hand side (RHS) of the VLM equation system to a file. To save the system of equations, you can add the option ...
"save_results": {
"global": false,
"panelwise": false,
"matrix_system": true,
"aeroperformance": false
},
... This creates a file called
The last column is the RHS. I hope this is helpful to you. Let me know if you have any issues with this. This feature is part of PyTornado 0.5.3. You will have to update your installation to use this feature.
I will try to add this sometime in the next couple of days. |
Thank you.
Could you send me the code where the "BoundLegMidPoint" is calculated?
…On Wed, Jan 15, 2020 at 1:20 AM Aaron Dettmann ***@***.***> wrote:
I would also like to view the downwash matrix. Is it possible to store it
in a file?
I have now added an option to save the downwash matrix and the right-hand
side (RHS) of the VLM equation system to a file. To save the system of
equations, you can add the option "matrix_system": true in the settings
file as indicated below:
...
"save_results": {
"global": false,
"panelwise": false,
"matrix_system": true,
"aeroperformance": false
},
...
This creates a file called matrix.dat in the results folder. For
instance, if your VLM mesh consists of 4 panels, the downwash matrix is of
size 4x4 and the the RHS is of size 4x1. The file matrix.dat will look
something like this:
# Downwash matrix: (4, 4)
# Right-hand side: (4,)
3.308056e-01,-6.184585e-02,-6.184585e-02,-1.024569e-02, 3.489950e+00
-6.184585e-02, 3.308056e-01,-1.024569e-02,-6.184585e-02, 3.489950e+00
-6.184585e-02,-1.024569e-02, 3.308056e-01,-4.128267e-03, 3.489950e+00
-1.024569e-02,-6.184585e-02,-4.128267e-03, 3.308056e-01, 3.489950e+00
The last column is the RHS. I hope this is helpful to you. Let me know if
you have any issues with this. This feature is part of PyTornado 0.5.3. You
will have to update your installation to use this feature.
Can you also add a feature to store coordinates of the middle of the
quarter chord line from which moments are calculated?
I will try to add this sometime in the next couple of days.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#14?email_source=notifications&email_token=AHHO5AKOMW4MQZ3CLKEOOGLQ5YJRZA5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEI54PMA#issuecomment-574343088>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHHO5ANACPCJFPNGKWMFCVDQ5YJRZANCNFSM4KCPKULA>
.
|
"BoundLegMidPoint" is the variable I want stored.
On Wed, Jan 15, 2020 at 4:06 AM Bharath ae15d019 <ae15d019@smail.iitm.ac.in>
wrote:
… Thank you.
Could you send me the code where the "BoundLegMidPoint" is calculated?
On Wed, Jan 15, 2020 at 1:20 AM Aaron Dettmann ***@***.***>
wrote:
> I would also like to view the downwash matrix. Is it possible to store it
> in a file?
>
> I have now added an option to save the downwash matrix and the right-hand
> side (RHS) of the VLM equation system to a file. To save the system of
> equations, you can add the option "matrix_system": true in the settings
> file as indicated below:
>
> ...
>
> "save_results": {
> "global": false,
> "panelwise": false,
> "matrix_system": true,
> "aeroperformance": false
> },
>
> ...
>
> This creates a file called matrix.dat in the results folder. For
> instance, if your VLM mesh consists of 4 panels, the downwash matrix is of
> size 4x4 and the the RHS is of size 4x1. The file matrix.dat will look
> something like this:
>
> # Downwash matrix: (4, 4)
> # Right-hand side: (4,)
> 3.308056e-01,-6.184585e-02,-6.184585e-02,-1.024569e-02, 3.489950e+00
> -6.184585e-02, 3.308056e-01,-1.024569e-02,-6.184585e-02, 3.489950e+00
> -6.184585e-02,-1.024569e-02, 3.308056e-01,-4.128267e-03, 3.489950e+00
> -1.024569e-02,-6.184585e-02,-4.128267e-03, 3.308056e-01, 3.489950e+00
>
> The last column is the RHS. I hope this is helpful to you. Let me know if
> you have any issues with this. This feature is part of PyTornado 0.5.3. You
> will have to update your installation to use this feature.
>
> Can you also add a feature to store coordinates of the middle of the
> quarter chord line from which moments are calculated?
>
> I will try to add this sometime in the next couple of days.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#14?email_source=notifications&email_token=AHHO5AKOMW4MQZ3CLKEOOGLQ5YJRZA5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEI54PMA#issuecomment-574343088>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AHHO5ANACPCJFPNGKWMFCVDQ5YJRZANCNFSM4KCPKULA>
> .
>
|
Hi Aaron. I didn’t realize I had the codes from the installation. I can
make the required changes myself. Thanks for your help.
On Wed, Jan 15, 2020 at 4:10 AM Bharath ae15d019 <ae15d019@smail.iitm.ac.in>
wrote:
… "BoundLegMidPoint" is the variable I want stored.
On Wed, Jan 15, 2020 at 4:06 AM Bharath ae15d019 <
***@***.***> wrote:
> Thank you.
> Could you send me the code where the "BoundLegMidPoint" is calculated?
>
> On Wed, Jan 15, 2020 at 1:20 AM Aaron Dettmann ***@***.***>
> wrote:
>
>> I would also like to view the downwash matrix. Is it possible to store
>> it in a file?
>>
>> I have now added an option to save the downwash matrix and the
>> right-hand side (RHS) of the VLM equation system to a file. To save the
>> system of equations, you can add the option "matrix_system": true in
>> the settings file as indicated below:
>>
>> ...
>>
>> "save_results": {
>> "global": false,
>> "panelwise": false,
>> "matrix_system": true,
>> "aeroperformance": false
>> },
>>
>> ...
>>
>> This creates a file called matrix.dat in the results folder. For
>> instance, if your VLM mesh consists of 4 panels, the downwash matrix is of
>> size 4x4 and the the RHS is of size 4x1. The file matrix.dat will look
>> something like this:
>>
>> # Downwash matrix: (4, 4)
>> # Right-hand side: (4,)
>> 3.308056e-01,-6.184585e-02,-6.184585e-02,-1.024569e-02, 3.489950e+00
>> -6.184585e-02, 3.308056e-01,-1.024569e-02,-6.184585e-02, 3.489950e+00
>> -6.184585e-02,-1.024569e-02, 3.308056e-01,-4.128267e-03, 3.489950e+00
>> -1.024569e-02,-6.184585e-02,-4.128267e-03, 3.308056e-01, 3.489950e+00
>>
>> The last column is the RHS. I hope this is helpful to you. Let me know
>> if you have any issues with this. This feature is part of PyTornado 0.5.3.
>> You will have to update your installation to use this feature.
>>
>> Can you also add a feature to store coordinates of the middle of the
>> quarter chord line from which moments are calculated?
>>
>> I will try to add this sometime in the next couple of days.
>>
>> —
>> You are receiving this because you authored the thread.
>> Reply to this email directly, view it on GitHub
>> <#14?email_source=notifications&email_token=AHHO5AKOMW4MQZ3CLKEOOGLQ5YJRZA5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEI54PMA#issuecomment-574343088>,
>> or unsubscribe
>> <https://github.com/notifications/unsubscribe-auth/AHHO5ANACPCJFPNGKWMFCVDQ5YJRZANCNFSM4KCPKULA>
>> .
>>
>
|
Of course I will be using the latest change you made for the downwash
matrix.
On Wed, Jan 15, 2020 at 6:56 AM Bharath ae15d019 <ae15d019@smail.iitm.ac.in>
wrote:
…
Hi Aaron. I didn’t realize I had the codes from the installation. I can
make the required changes myself. Thanks for your help.
On Wed, Jan 15, 2020 at 4:10 AM Bharath ae15d019 <
***@***.***> wrote:
> "BoundLegMidPoint" is the variable I want stored.
>
> On Wed, Jan 15, 2020 at 4:06 AM Bharath ae15d019 <
> ***@***.***> wrote:
>
>> Thank you.
>> Could you send me the code where the "BoundLegMidPoint" is calculated?
>>
>> On Wed, Jan 15, 2020 at 1:20 AM Aaron Dettmann ***@***.***>
>> wrote:
>>
>>> I would also like to view the downwash matrix. Is it possible to store
>>> it in a file?
>>>
>>> I have now added an option to save the downwash matrix and the
>>> right-hand side (RHS) of the VLM equation system to a file. To save the
>>> system of equations, you can add the option "matrix_system": true in
>>> the settings file as indicated below:
>>>
>>> ...
>>>
>>> "save_results": {
>>> "global": false,
>>> "panelwise": false,
>>> "matrix_system": true,
>>> "aeroperformance": false
>>> },
>>>
>>> ...
>>>
>>> This creates a file called matrix.dat in the results folder. For
>>> instance, if your VLM mesh consists of 4 panels, the downwash matrix is of
>>> size 4x4 and the the RHS is of size 4x1. The file matrix.dat will look
>>> something like this:
>>>
>>> # Downwash matrix: (4, 4)
>>> # Right-hand side: (4,)
>>> 3.308056e-01,-6.184585e-02,-6.184585e-02,-1.024569e-02, 3.489950e+00
>>> -6.184585e-02, 3.308056e-01,-1.024569e-02,-6.184585e-02, 3.489950e+00
>>> -6.184585e-02,-1.024569e-02, 3.308056e-01,-4.128267e-03, 3.489950e+00
>>> -1.024569e-02,-6.184585e-02,-4.128267e-03, 3.308056e-01, 3.489950e+00
>>>
>>> The last column is the RHS. I hope this is helpful to you. Let me know
>>> if you have any issues with this. This feature is part of PyTornado 0.5.3.
>>> You will have to update your installation to use this feature.
>>>
>>> Can you also add a feature to store coordinates of the middle of the
>>> quarter chord line from which moments are calculated?
>>>
>>> I will try to add this sometime in the next couple of days.
>>>
>>> —
>>> You are receiving this because you authored the thread.
>>> Reply to this email directly, view it on GitHub
>>> <#14?email_source=notifications&email_token=AHHO5AKOMW4MQZ3CLKEOOGLQ5YJRZA5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEI54PMA#issuecomment-574343088>,
>>> or unsubscribe
>>> <https://github.com/notifications/unsubscribe-auth/AHHO5ANACPCJFPNGKWMFCVDQ5YJRZANCNFSM4KCPKULA>
>>> .
>>>
>>
|
The bound leg midpoint position is computed in the C++ code:
However, if you are only interested in storing the data, it is probably easier to do this from Python. The bound legs positions are stored in the variable pytornado/src/lib/pytornado/aero/vlm.py Line 365 in b50edcc
Numpy arrays can be conveniently written to text with the |
Hi again, I have thought about adding a built-in feature to store the lattice geometry parameters in a file (or multiple). You requested bound leg midpoints specifically. However, if I add a new feature, I would like it to be more general. When starting to implement this, I realized that the geometry data structures are quite elaborate, and storing everything may generate relatively large file sizes. For instance,
I don't think storing geometry points is a very common use case. So for now, I will leave things as they are and suggest to use the Python API for post-processing of the mesh geometry. PyTornado can be run from a Python script as shown below. This is completely equivalent to starting PyTornado from a terminal with from pytornado.stdfun.run import StdRunArgs, standard_run
# Run a PyTornado analysis
args = StdRunArgs(run='path/to/settings/settings_file.json')
results = standard_run(args)
lattice = results['lattice']
lattice.bound_leg_midpoints # E.g. access the bound leg midpoints I will close this issue here. Feel free to create a new issue for any other questions/requests :) |
Please try running this analysis (attachment). The results don't seem to
match Matlab Tornado. They are way off. My UVLM code matches Matlab Tornado
result.
…On Fri, Jan 17, 2020 at 3:03 AM Aaron Dettmann ***@***.***> wrote:
Hi again, I have thought about adding a built-in feature to store the *lattice
geometry parameters* in a file (or multiple). You requested bound leg
midpoints specifically. However, if I add a new feature, I would like it to
be more general.
When starting to implement this, I realized that the geometry data
structures are quite elaborate, and storing everything may generate
relatively large file sizes. For instance, lattice.p which stores lattice
corner points is a Nx4x3 matrix. If the VLM mesh would consist of 1000
panels, we would store 1000x4x3 = 12000 values in a file. And looking at
the geometry object, there are several other matrices of similar size:
https://github.com/airinnova/pytornado/blob/0c18330071930d2cf5331db829bf2fe4edb90711/src/lib/pytornado/objects/vlm_struct.py#L51
I don't think storing geometry points is a very common use case. So for
now, I will leave things as they are and suggest to use the Python API for
post-processing of the mesh geometry. PyTornado can be run from a Python
script as shown below. This is completely equivalent to starting PyTornado
from a terminal with pytornado -v --run
path/to/settings/settings_file.json, but it allows to directly process
any data structures in Python.
from pytornado.stdfun.run import StdRunArgs, standard_run
# Run a PyTornado analysis
args = StdRunArgs(run='path/to/settings/settings_file.json')
results = standard_run(args)
lattice = results['lattice']
lattice.bound_leg_midpoints # E.g. access the bound leg midpoints
I will close this issue here. Feel free to create a new issue for any
other questions/requests :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#14?email_source=notifications&email_token=AHHO5AOTKRTP4SSKKEJTNXTQ6DHBBA5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJFUBCY#issuecomment-575357067>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHHO5ANJP7XQ5EOLAZXIWALQ6DHBBANCNFSM4KCPKULA>
.
|
I didn't receive the attachment. Could you upload it directly on Github? I.e. here: #14 And please specify which results you are comparing. |
My UVLM results seem to match Matlab Tornado's result ("Freestream following wake, Tornado Method") as opposed to the "fixed wake, standard VLM method". I am comparing the moments (Mx, My and Mz). JSON format not supported for uploading, hence sending txt files. |
Rename them to use |
I can run the files you sent. Main results, I get:
Does that seem to match what you get? Please let me know where values differ in your opinion. Can you also attach the corresponding Matlab Tornado files, so that I can try to recreate your results? Also note that PyTornado does not have the option Freestream following wake, Tornado Method (only fixed wake, standard VLM method). If you attach files, try to just zip the whole folder if possible. Then I don't need to rename and create the PyTornado folders. Thanks. |
These results match "fixed wake, standard VLM method". I wonder which is
correct.....
I am attaching Matlab Tornado.
…On Fri, Jan 17, 2020 at 3:26 PM Aaron Dettmann ***@***.***> wrote:
I can run the files you sent. Main results, I get:
[... INFO] @ pytornado.aero.vlm | Computing results...
[... INFO] @ pytornado.aero.vlm | --> Fx = -2.286e+02
[... INFO] @ pytornado.aero.vlm | --> Fy = -5.712e+01
[... INFO] @ pytornado.aero.vlm | --> Fz = 2.928e+03
[... INFO] @ pytornado.aero.vlm | --> FD = 3.233e+01
[... INFO] @ pytornado.aero.vlm | --> FC = -5.451e+01
[... INFO] @ pytornado.aero.vlm | --> FL = 2.936e+03
[... INFO] @ pytornado.aero.vlm | --> Mx = -2.268e+02
[... INFO] @ pytornado.aero.vlm | --> My = 5.202e+03
[... INFO] @ pytornado.aero.vlm | --> Mz = -8.079e+01
[... INFO] @ pytornado.aero.vlm | --> Cx = -0.0373
[... INFO] @ pytornado.aero.vlm | --> Cy = -0.0093
[... INFO] @ pytornado.aero.vlm | --> Cz = 0.4777
[... INFO] @ pytornado.aero.vlm | --> CD = 0.0053
[... INFO] @ pytornado.aero.vlm | --> CC = -0.0089
[... INFO] @ pytornado.aero.vlm | --> CL = 0.4792
[... INFO] @ pytornado.aero.vlm | --> Cl = -0.0046
[... INFO] @ pytornado.aero.vlm | --> Cm = 1.6979
[... INFO] @ pytornado.aero.vlm | --> Cn = -0.0016
Does that seem to match what you get?
Please let me know where values differ in your opinion. Can you also
attach the corresponding Matlab Tornado files, so that I can try to
recreate your results? Also note that PyTornado does not have the option *Freestream
following wake, Tornado Method* (only *fixed wake, standard VLM method*).
If you attach files, try to just zip the whole folder if possible. Then I
don't need to rename and create the PyTornado folders. Thanks.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#14?email_source=notifications&email_token=AHHO5ALYGU64T6MJ7DQUOL3Q6F6F7A5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJHEYOQ#issuecomment-575556666>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHHO5AMR3ON57JPKASFKLZTQ6F6F7ANCNFSM4KCPKULA>
.
|
Again, PyTornado only has the equivalent of fixed wake, standard VLM method. This is the vortex geometry which is used: Matlab Tornado, by default, uses a different geometry, see: If you want an accurate comparison, you should use the fixed wake option.
I didn't receive any attachment. |
Have you compared the fixed wake results with another software like AVL?
There is a big difference in results, for example
Cl = -0.0057016 for fixed wake and is -0.00211 in AVL
…On Fri, Jan 17, 2020 at 3:43 PM Aaron Dettmann ***@***.***> wrote:
Again, PyTornado only has the equivalent of *fixed wake, standard VLM
method*. This is the vortex geometry which is used:
[image: Horseshoe]
<https://raw.githubusercontent.com/airinnova/pytornado/9300599f5f43258187a36e9a5b5f99df1c842d7d/docs/source/theory/_static/images/horseshoe_vortex_geometry.svg?sanitize=true>
Matlab Tornado, by default, uses a different geometry, see:
-
https://www.researchgate.net/publication/238671899_A_Vortex_Lattice_MATLAB_Implementation_for_Linear_Aerodynamic_Wing_Applications
If you want an accurate comparison, you should use the *fixed wake*
option.
I am attaching Matlab Tornado.
I didn't receive any attachment.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#14?email_source=notifications&email_token=AHHO5AJN345ACKCBKTSQGPTQ6GADTA5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJHGG6I#issuecomment-575562617>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHHO5ALQ2QQMACGJ4BBNVV3Q6GADTANCNFSM4KCPKULA>
.
|
In contrast freestream wake gives a Cl of -0.001.
On Fri, Jan 17, 2020 at 6:00 PM Bharath ae15d019 <ae15d019@smail.iitm.ac.in>
wrote:
… Have you compared the fixed wake results with another software like AVL?
There is a big difference in results, for example
Cl = -0.0057016 for fixed wake and is -0.00211 in AVL
On Fri, Jan 17, 2020 at 3:43 PM Aaron Dettmann ***@***.***>
wrote:
> Again, PyTornado only has the equivalent of *fixed wake, standard VLM
> method*. This is the vortex geometry which is used:
>
> [image: Horseshoe]
> <https://raw.githubusercontent.com/airinnova/pytornado/9300599f5f43258187a36e9a5b5f99df1c842d7d/docs/source/theory/_static/images/horseshoe_vortex_geometry.svg?sanitize=true>
>
> Matlab Tornado, by default, uses a different geometry, see:
>
> -
> https://www.researchgate.net/publication/238671899_A_Vortex_Lattice_MATLAB_Implementation_for_Linear_Aerodynamic_Wing_Applications
>
> If you want an accurate comparison, you should use the *fixed wake*
> option.
>
> I am attaching Matlab Tornado.
>
> I didn't receive any attachment.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#14?email_source=notifications&email_token=AHHO5AJN345ACKCBKTSQGPTQ6GADTA5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJHGG6I#issuecomment-575562617>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AHHO5ALQ2QQMACGJ4BBNVV3Q6GADTANCNFSM4KCPKULA>
> .
>
|
I have compared results with Matlab Tornado and checked that results match, but of course no grantee that there isn't a bug. If you have a test case that you can share in which you get different results, I'd appreciate it if you can send it. I would be best if you can share all input files so that I can recreate the results that you get. Please add attachments on Github as I don't get them if you answer via email. Thanks. |
So far as the result goes, can you compare with AVL? Files attached in
github.
I think I need to figure out calculating forces in the presence of
sideslip. That is what is causing the difference.
…On Fri, Jan 17, 2020 at 8:28 PM Aaron Dettmann ***@***.***> wrote:
I have compared results with Matlab Tornado and checked that results
match, but of course no grantee that there isn't a bug. If you have a test
case that you can share in which you get different results, I'd appreciate
it if you can send it. I would be best if you can share all input files so
that I can recreate the results that you get.
Please add attachments on Github as I don't get them if you answer via
email. Thanks.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#14?email_source=notifications&email_token=AHHO5AI6HO4IZ7KK62RUVWLQ6HBPTA5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJH537A#issuecomment-575659516>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHHO5AK3E6F276CRTZMW3KTQ6HBPTANCNFSM4KCPKULA>
.
|
For comparison with AVL. Rename aircraft_run.txt to aircraft_run DOT run. Rename aircraft_avl.txt to aircraft_avl DOT avl |
Link to download AVL: |
I think *freestream-following wake (Tornado Method) *is more accurate than
the *fixed wake method.* That was probably why it was introduced in Matlab
Tornado. Moreover, the wake actually travels with the freestream and hence
this method.
On Sat, Jan 18, 2020 at 5:14 AM Bharath ae15d019 <ae15d019@smail.iitm.ac.in>
wrote:
… So far as the result goes, can you compare with AVL? Files attached in
github.
I think I need to figure out calculating forces in the presence of
sideslip. That is what is causing the difference.
On Fri, Jan 17, 2020 at 8:28 PM Aaron Dettmann ***@***.***>
wrote:
> I have compared results with Matlab Tornado and checked that results
> match, but of course no grantee that there isn't a bug. If you have a test
> case that you can share in which you get different results, I'd appreciate
> it if you can send it. I would be best if you can share all input files so
> that I can recreate the results that you get.
>
> Please add attachments on Github as I don't get them if you answer via
> email. Thanks.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#14?email_source=notifications&email_token=AHHO5AI6HO4IZ7KK62RUVWLQ6HBPTA5CNFSM4KCPKULKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJH537A#issuecomment-575659516>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AHHO5AK3E6F276CRTZMW3KTQ6HBPTANCNFSM4KCPKULA>
> .
>
|
Thanks for reporting and creating the new issue. I will start looking into it when I have time. If there is a discrepancy between results, I think it is most likely to do with the "normal rotations" (aerofoils/control surface modelling) which is implemented suboptimal at the moment in PyTornado. Also different vortex discretizations may play a role.
Regarding different vortex discretizations in general: Katz and Plotkin give the best overview. Basically, there are three different ways to describe the vortex geometry:
I will lock the conversation here. The issue will be treated in #18 |
For calculating moments, do you compute the moments due to force at each collocation point and add them up or do you add up the forces and multiply with the moment arm (distance to quarter-chord)?
This also beings me back to the question on forces and moments of UVLM being exactly the same as steady VLM?
The text was updated successfully, but these errors were encountered: