# Global performance of turbomachinery¶

Global performance of turbomachinery (expressed in thermodynamic mean values, $$\displaystyle X_o$$ standing for values of the outlet plane, and $$\displaystyle X_i$$ standing for values of the inlet plane.

Mass flow rate: $$\displaystyle Q = \int \rho V dS$$

Total-to-total pressure ratio: $$\displaystyle \Pi = \frac{Pt_o}{Pt_i}$$

Isentropic efficiency:

compressor - $$\displaystyle \eta_{is} = \frac{\Pi^{\frac{\gamma-1}{\gamma}}-1}{\frac{Tt_o}{Tt_i}-1}$$ turbine - $$\displaystyle \eta_{is} = \frac{\frac{Tt_o}{Tt_i}-1}{\Pi^{\frac{\gamma-1}{\gamma}}-1}$$

Polytropic efficiency:

compressor - $$\displaystyle \eta_{pol} = \frac{\frac{\log(\frac{Ps_o}{Ps_i})}{\log(\frac{\rho_o}{\rho_i})}*(\gamma-1)}{\gamma*(\frac{\log(\frac{Ps_o}{Ps_i})}{\log(\frac{\rho_o}{\rho_i})}-1)}$$ turbine - $$\displaystyle \eta_{pol} = \frac{\gamma*(\frac{\log(\frac{\rho_o}{\rho_i})}{\log(\frac{Ps_o}{Ps_i})}-1)}{\frac{\log(\frac{\rho_o}{\rho_i})}{\log(\frac{Ps_o}{Ps_i})}*(\gamma-1)}$$

The specific gas constant is hard-coded: Rgaz = 287.053 [J/kg/K].

The Heat capacity ratio is hard-coded: gamma = 1.4 [-].

## Parameters¶

• inlet_base: Base

The inlet base used for global performance.

• outlet_base: Base

The outlet base used for global performance.

• coordinates: list(str)

The variable names that define the set of coordinates. If no value is given, the default coordinate system of the base is used (see Base.coordinate_names).

• type: str

Type of turbomachine (turbine, compressor, CROR).

• avg_type: str in [‘surface’, ‘massflowrate’], default= massflowrate

Type of space averaging.

• conservative: list(str), default= [‘rho’, ‘rhou’, ‘rhov’, ‘rhow’, ‘rhoE’]

Names of conservative variables. example: [‘ro’, ‘rovx’, ‘rovy’, ‘rovz’, ‘roE’]

## Postconditions¶

The treatment returns a dictionary with variables Q, eta_is, eta_pol, and Pi.

• Q:

mass-flow rate at the outlet plane,

• eta_is

Isentropic efficiency.

• eta_pol

Polytropic efficiency.

• Pi

Total-to-total pressure ratio.

## Main functions¶

class antares.treatment.turbomachine.TreatmentTurboGlobalPerfo.TreatmentTurboGlobalPerfo
execute()

Compute the global performance of a turbomachine.

Returns:

a dictionary with variables Q, eta_is, eta_pol, and Pi

Return type:

dict(str, float)

Variables:
• Q – mass-flow rate at the outlet plane,

• eta_is – isentropic efficiency,

• eta_pol – polytropic efficiency,

• Pi – total-to-total pressure ratio

## Example¶

import os

if not os.path.isdir('OUTPUT'):
os.makedirs('OUTPUT')

import matplotlib.pyplot as plt
import numpy as np

import antares

x_inlet, x_outlet = -0.07, 0.15

perfos = np.empty((1, 4))

R['filename'] = os.path.join('..', 'data', 'ROTOR37', 'rotor37.plt')

data.set_computer_model('internal')

data.coordinate_names = ['x', 'y', 'z']

T = antares.Treatment('cut')
T['origin'] = (float(x_inlet), 0., 5.0)
T['type'] = 'plane'
T['normal'] = (1.0, 0.0, 0.0)
T['base'] = data
inlet_plane = T.execute()
inlet_plane.rel_to_abs(omega=-1.7999965e+03, angle=0.0)

T = antares.Treatment('cut')
T['origin'] = (float(x_outlet), 0., 5.0)
T['type'] = 'plane'
T['normal'] = (1.0, 0.0, 0.0)
T['base'] = data
outlet_plane = T.execute()
outlet_plane.rel_to_abs(omega=-1.7999965e+03, angle=0.0)

print(inlet_plane[0][0])
print(outlet_plane[0][0])
T = antares.Treatment('turboglobalperfo')
T['inlet_base'] = inlet_plane
T['outlet_base'] = outlet_plane
T['avg_type'] = 'massflowrate'
T['type'] = 'compressor'
T['coordinates'] = ['x', 'y', 'z']
T['conservative'] = ['ro', 'rovx', 'rovy', 'rovz', 'roE']
test = T.execute()
print(test)

perfos[0, 0] = -test['Q']*36
perfos[0, 1] = test['Pi']
perfos[0, 2] = test['eta_is']
perfos[0, 3] = test['eta_pol']

plt.figure()
plt.plot(perfos[:, 0], perfos[:, 1], 'D', label='MBS')
plt.xlabel(r'$\dot{m}\; [kg.s^{-1}]$', fontsize=22)
plt.ylabel(r'$\Pi$', fontsize=22)
plt.grid(True)
plt.legend(loc='best')
plt.tight_layout()
plt.savefig(os.path.join('OUTPUT', 'ex_Pi.png'), format='png')
# plt.show()

plt.figure()
plt.plot(perfos[:, 0], perfos[:, 2], 'D', label='MBS')
plt.xlabel(r'$\dot{m}\; [kg.s^{-1}]$', fontsize=22)
plt.ylabel(r'$\eta_{is}$', fontsize=22)
plt.grid(True)
plt.legend(loc='best')
plt.tight_layout()
plt.savefig(os.path.join('OUTPUT', 'ex_eta_is.png'), format='png')
# plt.show()

plt.figure()
plt.plot(perfos[:, 0], perfos[:, 2], 'D', label='MBS')
plt.xlabel(r'$\dot{m}\; [kg.s^{-1}]$', fontsize=22)
plt.ylabel(r'$\eta_{pol}$', fontsize=22)
plt.grid(True)
plt.legend(loc='best')
plt.tight_layout()
plt.savefig(os.path.join('OUTPUT', 'ex_eta_pol.png'), format='png')
# plt.show()