How can i create efficiency isolines in a compressor map?

I have mass flow, pressure ratio and efficiency values of about 30 points for 3 different rotation speed. I need to plot a compressor map as in the link by using these datas: https://www.uniplot.de/_images/metafiles-compressormap-80.png
I used interp1 with spline as method to create constant rotation speed lines (black lines in link above). And now i need to create efficiency isolines. I tried with different commands(for example; contour, griddata) but it did not work so far.
How can i create efficiency isolines?

3 comentarios

jonas
jonas el 12 de Sept. de 2018
Could you upload the data?
hello ..please help me in drawing speed lines in compressor map.....

Iniciar sesión para comentar.

 Respuesta aceptada

jonas
jonas el 12 de Sept. de 2018
This is what I'm getting from the data you uploaded.
%%Load data
rpm{1}=xlsread('data_compressor_map.xlsx','A3:D10');
rpm{2}=xlsread('data_compressor_map.xlsx','A14:D25');
rpm{3}=xlsread('data_compressor_map.xlsx','A29:D33');
data=vertcat(rpm{:});
x=data(:,2)
y=data(:,4)
z=data(:,3)
%%Interpolate on grid
[X,Y]=meshgrid(min(x):.01:max(x),min(y):.01:max(y))
Z=griddata(x,y,z,X,Y)
%%Plot contour
contourf(X,Y,Z);hold on
%%Plot lines
plot([x(1:8);NaN;x(9:20);NaN;x(21:end)],[y(1:8);NaN;y(9:20);NaN;y(21:end)],'-k','linewidth',2)
cb=colorbar

Más respuestas (1)

chapuisat
chapuisat el 16 de Sept. de 2018
Your answer helped me a lot! Thank you!
I think the map in the link below looks visually better with regards to efficiency area.
How can i change efficiency area as in the link below?
https://www.google.de/imgres?imgurl=x-raw-image%3A%2F%2F%2F405abd0c340c8e0e2f65d63f06a2eb7b6cc5c02a70d88a6f246ae45c93063160&imgrefurl=http%3A%2F%2Fpublications.lib.chalmers.se%2Frecords%2Ffulltext%2F196400%2F196400.pdf&docid=CpI22Qr1H9koZM&tbnid=Do4MNAy9WkBVRM%3A&vet=12ahUKEwiEmYOb6b_dAhVGkCwKHancCrU4ZBAzKBYwFnoECAEQFw..i&w=727&h=625&bih=754&biw=1536&q=compressor%20map%20contour&ved=2ahUKEwiEmYOb6b_dAhVGkCwKHancCrU4ZBAzKBYwFnoECAEQFw&iact=mrc&uact=8

3 comentarios

jonas
jonas el 16 de Sept. de 2018
Editada: jonas el 27 de Sept. de 2018
The link brought me to a master thesis pdf but I think I know which fig you are referring to. Basically its a surface plot with some added features.
There are a million things you can change to make the surface look more visually appealing. Here's an example of some things you could try:
%%Load data
rpm{1}=xlsread('data_compressor_map.xlsx','A3:D10');
rpm{2}=xlsread('data_compressor_map.xlsx','A14:D25');
rpm{3}=xlsread('data_compressor_map.xlsx','A29:D33');
data=vertcat(rpm{:});
x=data(:,2)
y=data(:,4)
z=data(:,3)
%%Interpolate on grid
[X,Y]=meshgrid(min(x):.002:max(x),min(y):.01:max(y));
Z=griddata(x,y,z,X,Y)
%%Tighten surface to avoid extrap
b = boundary(x,y,1)
in=inpolygon(X,Y,x(b),y(b));
Z(~in)=NaN;
%%Plot contour
h=pcolor(X,Y,Z);hold on
set(h,'linestyle','none')
%%Plot lines
plot([x(1:8);NaN;x(9:20);NaN;x(21:end)],[y(1:8);NaN;y(9:20);NaN;y(21:end)],'o-k','linewidth',1.5,'markerfacecolor','k')
cb=colorbar
%%Plot boundary
plot(x(b),y(b),'k','linewidth',1)
xlim([.2 1.8])
ylim([1 4.5])
set(gca,'layer','top')
How did you define x(b) and y(b)?
jonas
jonas el 27 de Sept. de 2018
Editada: jonas el 27 de Sept. de 2018
If I remember correctly I used.
b = boundary(x,y,1);
That line got lost somehow, sorry.

Iniciar sesión para comentar.

Preguntada:

el 12 de Sept. de 2018

Comentada:

el 19 de Oct. de 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by