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.
- inlet_base:
- outlet_base:
Base
The outlet base used for global performance.
- outlet_base:
- 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
, andPi
- 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 = antares.Reader('bin_tp')
R['filename'] = os.path.join('..', 'data', 'ROTOR37', 'rotor37.plt')
data = R.read()
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()