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: antares.api.Base

    The base on which the treatment will be applied.

  • nb_radius: int, default = 100

    Number of radius necessary to discretize radially the geometry.

  • 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.

  • 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.

  • 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_var: str, default = ‘gamma_bar’

    Name of specific heat ratio. Only useful if gamma_hypothesis is equal to ‘0D’.

  • 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.

  • 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().

  • 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.

  • 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.

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 antares.api.Zone must contain only one antares.api.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:

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 TreatmentThermo1 options
# Do not fill ['base'] option nor perform .execute()
Thermo1 = Treatment('Thermo1')
Thermo1['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['Thermo1'] = Thermo1            # call the TreatmentThermo1 set up upstream
result_base = t.execute()

Main functions

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

Compute the 1D thermodynamic spatial average.