Unwrap a blade’s profile

Description

This treatment unwraps a line’s profile.

It must be applied on a 1D line resulting from a cut of a 3D blade.

As a result, the indices of nodes from pressure and suction sides will be available as attributes of the base.

d_D_range_0_1 or d_D_range_m1_1

Examples of begin_unwrap and d_D_range options.

Parameters

  • base: Base

    The base on which the treatment will be applied.

  • p_var: str, default = ‘Psta’

    Name of pressure variable.

  • d_D_range: str in [‘m1_1’, ‘0_1’], default = ‘0_1’

    Range of the curvilinear reduced coordinates. Either ‘m1_1’ for a range from -1 to 1 or ‘0_1’ for a range from 0 to 1.

  • begin_unwrap: str in [‘LE’, ‘TE’], default = ‘LE’

    Convention: ‘LE’ (leading edge) or ‘TE’ (trailing edge). Either sort the blade from the LE to the TE or vice versa. Therefore, if begin_unwrap is set to ‘LE’, the origin of the curvilinear coordinate is at the leading edge.

  • tolerance_decimals: int, default = None

    Number of decimal places to round the coordinates. When the base is multi-zone, it is used to merge the intersection points of the zones. If None, the coordinates will not be rounded.

  • memory_mode: bool, default = False

    If True, the input base is deleted on the fly to limit memory usage.

  • cartesian_coordinates: list(str, str, str), default = [‘x’, ‘y’, ‘z’]

    Names of the 3 Cartesian coordinates.

  • crm_var: str, default = ‘CoordinateReducedMeridional’

    Name of the reduced meridional coordinate variable.

  • out_vars: sequence(str, str), default = [‘d_D’, ‘d’]

    Name of the output reduced curvilinear curvature coordinate and its non reduced form.

Preconditions

The treatment must preferably be applied on a 1D Zone resulting from a blade cut. However, a merge treatment can handle a base with multiple zones. The Zone must contain only one Instant.

Postconditions

The input base may be modified in-place depending on the result of the inner merge treatment.

The output base is a merge of the input base extended with the attribute named ‘Profil’ in Base.attrs.

This attribute is a dictionary with variables:

  • IndicesPressureSide

    Instant’s nodes indices corresponding to the profile’s pressure side.

  • IndicesSuctionSide

    Instant’s nodes indices corresponding to the profile’s suction side.

The Instant contained in the input base is extended with the following variables:

  • out_vars[1]

    The curvilinear curvature coordinate of the profile.

  • out_vars[0]

    Reduced form of the curvilinear curvature coordinate. In other words, the curvilinear curvature coordinate of the profile divided by the total curvilinear curvature length.

Example

import antares

myt = antares.Treatment('UnwrapProfil')
myt['base'] = base
base = myt.execute()

The following statements plot the temperature as a function of the reduced curvilinear abscissa coordinate.

import matplotlib.pyplot as plt

# First, retrieve pressure and suction sides indices:
ind_PS = base.attrs['Profil']['IndicesPressureSide']
ind_SS = base.attrs['Profil']['IndicesSuctionSide']

# Get variables you want to plot
T = base[0][0]['T']
d_D = base[0][0]['d_D']

# Create a basic figure
plt.figure()
plt.plot(d_D[ind_PS], T[ind_PS], label='Pressure side')
plt.plot(d_D[ind_SS], T[ind_SS], label='Suction side')
plt.legend()
plt.show()

Main functions

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

Extract variables along a profile of a blade.

Returns

Return type

Base