Im experiencing misalignment of the crests in my normalized vertical velocity profiles when plotting multiple turbulence models; any suggestions on how to fix this?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Basically I had a running code for radial velocity contours which was fixed an all the crests aligned. Now i have changed the input files and associated names in the codes but the crests are not aligning, any and all help will be apreciated
2 comentarios
Image Analyst
el 30 de Jul. de 2024
Why do you think that just because they aligned for one data file, that they should align for all other data files?
And you forgot to attach them so we can't even run your txt file, which is actually an m-file script.
If you have any more questions, then attach your data files with the paperclip icon after you read this:
Respuestas (1)
Sivsankar
el 8 de Ag. de 2024
Hi Keith,
% Normalize radial distances and velocities
zeta_kep = v_kep / y0_5_kep;
U_Uc_kep = U_vertical_kep / max(U_vertical_kep);
zeta_sa = v_sa / y0_5_sa;
U_Uc_sa = U_vertical_sa / max(U_vertical_sa);
zeta_komega_sst = v_komega_sst / y0_5_komega_sst;
U_Uc_komega_sst = U_vertical_komega_sst / max(U_vertical_komega_sst);
zeta_komega_geko = v_komega_geko / y0_5_komega_geko;
U_Uc_komega_geko = U_vertical_komega_geko / max(U_vertical_komega_geko);
zeta_rsm_lps = v_rsm_lps / y0_5_rsm_lps;
U_Uc_rsm_lps = U_vertical_rsm_lps / max(U_vertical_rsm_lps);
From the idea of the above snippet, I assume that you want to normalise both radial distances and velocities. But from your screenshot I can see that your X axis (for r values) is not normalised. But you are trying to plot the normalised values of r.
Investigating into your ‘ensure_unique_and_sorted’ function I came across some discrepancies. Rewrite your function as follows:
function [r_unique_sorted, U_unique_sorted] = ensure_unique_and_sorted(r, U)
[U_unique_sorted, idx] = unique(U, 'stable');
r_unique_sorted = r(idx);
% Remove duplicates by averaging This code does the same as the above piece of code
% if length(U_unique) < length(U)
% [~, uniqueIdx] = unique(U, 'stable');
% U_unique = U(uniqueIdx);
% r_unique = r(uniqueIdx);
% end
% Sort the values based on r No need to sort
% [r_unique_sorted, sortIdx] = sort(r_unique);
% U_unique_sorted = U_unique(sortIdx);
end
I’ve commented out your if else case because it is redundant as it does the same thing as its above piece of code. I believe that you don’t need to sort the values in r because they are already in descending order and doing that operation would flip it and it would flip U as well. This would end up being wrong as you are using the values of U in finding the interpolation range rn. Upon running this updated code, I’ve got the result as follows:
Now I believe the crests are aligned. I hope this is your expected result. You could maybe adjust the interpolation range rn to property normalise the r values to get the X axis completely normalised.
Hope this helps. Feel free to correct me if I’m wrong. Thanks!
0 comentarios
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!