Radial profile of thermodynamics treatments¶
Description¶
This treatment computes the radial distribution of thermodynamics treatments. For each radial section, quantities are averaged in space. The input base is not modified but dictionnaries are added to its attributes.
It must be applied on 2D surfaces resulting from a revolution cut of an axisymmetric mono-row or multi-row configuration.
Construction¶
import antares
myt = antares.Treatment('thermo1D')
Parameters¶
- base:
Base
The base on which the treatment will be applied.
- base:
- nb_radius:
int
, default = 100 Number of radius necessary to discretize radially the geometry.
- nb_radius:
- radial_clip:
list(float, float)
, default = None List of radius to clip the 2D geometry. First element is the minimum and the second one is the maximum radius. Per default no clip is performed.
- radial_clip:
- cylindrical_coordinates:
list(str, str, str)
, default = [‘x’, ‘r’, ‘theta’] Names of the cylindrical coordinates: the axis of rotation (axial coordinate), the distance to this axis (radius), and the azimuth.
- cylindrical_coordinates:
- gamma_hypothesis:
str
, default = ‘cst’ Either ‘cst’ so a value of gamma is expected in the input base attributes, or ‘0D’ then a 0D value of gamma_var is computed for the whole input base.
- gamma_hypothesis:
- gamma_var:
str
, default = ‘gamma_bar’ Name of specific heat ratio. Only useful if gamma_hypothesis is equal to ‘0D’.
- gamma_var:
- distribution_type:
str
, default = ‘cst’ Distribution type of the radial cuts (‘cst’ or ‘erf’). Either the distribution is constant, which means one goes through a radial cut to the next one with a \(\Delta r = \frac{r_{max}-r_{min}}{nb\_radius}\) where \(r_{max}\) and \(r_{min}\) are the maximun and minimum radius of the base. Warning, that is the case if radial_clip is None otherwise, \(r_{max}\) and \(r_{min}\) are defined by radial_clip’s values.
- distribution_type:
- dp0:
float
, default = 1.0e-02 If distribution_type is ‘erf’, specify the dp0’s option of the function
antares.utils.math_utils.norm_cdf_distribution()
.
- dp0:
- ThermoGeom:
antares.treatment.turbomachine.TreatmentThermoGeom
, default = None Call a TreatmentThermoGeom defined upstream. Only options cartesian_coordinates, cylindrical_coordinates and def_points might be filled. For more details, please refer to the corresponding treatment.
- ThermoGeom:
- ThermoLES:
antares.treatment.turbomachine.TreatmentThermoLES
, default = None Call a TreatmentThermoLES defined upstream. Only options conservative and cell_surface_var might be filled. For more details, please refer to the corresponding treatment.
- ThermoLES:
Preconditions¶
The treatment must be applied on a mono-zone base containing a 2D section resulting
from a cut with a revolution surface around the ‘x’-axis of an axisymmetric configuration.
This Zone
must contain only one Instant
(steady-state).
Preconditions are case dependant whether antares.treatment.turbomachine.TreatmentThermoGeom
, or
antares.treatment.turbomachine.TreatmentThermoLES
is called. Please refer
directly to the corresponding treatment.
Most of them need the gas properties either as attributes or at cells, named
respectively ‘Rgas’ or ‘Rgaz’ or ‘R_gas’ and ‘gamma’.
Postconditions¶
The input base is returned, extended with the attribute named ‘1D/Moyenne1D’.
This attribute is a dictionary with variables:
- radius
The array corresponding to the radial discretization of the input base.
- hH
The array corresponding to the coordinate reduced height discretization based on the radial range of value.
In addition, the input base might be returned extended with attributes:
‘1D/Geometry’ if
antares.treatment.turbomachine.TreatmentThermoGeom
‘1D/MoyenneLES#Steady’ if
antares.treatment.turbomachine.TreatmentThermoLES
has been set up upstream and called with TreatmentThermo1D.
Those attributes are dictionaries with variables, more details can be found in their relative documentation. They are no more single values but arrays of values for each radial section.
Example¶
import antares
# Fill TreatmentThermoGeom options
# Do not fill ['base'] option nor perform .execute()
ThermoGeom = Treatment('ThermoGeom')
ThermoGeom['def_points'] = cut_points
# Fill TreatmentThermoLES options
# Do not fill ['base'] option nor perform .execute()
ThermoLES = Treatment('ThermoLES')
ThermoLES['conservative'] = ['rho', 'rhou', 'rhov', 'rhow', 'rhoEtotal']
# Fill TreatmentThermo1D options then call the previous ones
t = Treatment('Thermo1D')
t['base'] = base
t['nb_radius'] = 100
t['gamma_hypothesis'] = '0D'
t['ThermoGeom'] = ThermoGeom # call the TreatmentThermoGeom set up upstream
t['ThermoLES'] = ThermoLES # call the TreatmentThermo1 set up upstream
result_base = t.execute()