ibl.head_method.HeadMethod

class ibl.head_method.HeadMethod(nu=1.0, U_e=None, dU_edx=None, d2U_edx2=None, shape_d_crit=2.4)

Bases: IBLMethod

Models a turbulent bondary layer using Head’s Method (1958).

Solves the system of ODEs from Head’s method when provided the edge velocity profile and other configuration information.

Parameters:
  • nu (float)

  • U_e (Any | None)

  • dU_edx (Any | None)

  • d2U_edx2 (Any | None)

  • shape_d_crit (float)

__init__(nu=1.0, U_e=None, dU_edx=None, d2U_edx2=None, shape_d_crit=2.4)
Parameters:
  • nu (float)

  • U_e (Any | None)

  • dU_edx (Any | None)

  • d2U_edx2 (Any | None)

  • shape_d_crit (float)

Return type:

None

Methods

__init__([nu, U_e, dU_edx, d2U_edx2, ...])

d2u_e(x)

Streamwise second derivative of inviscid edge velocity at location(s).

delta_d(x)

Calculate the displacement thickness.

delta_k(x)

Calculate the kinetic energy thickness.

delta_m(x)

Calculate the momentum thickness.

dissipation(x, rho)

Calculate the dissipation integral.

du_e(x)

Streamwise derivative of inviscid edge velocity at location(s).

set_initial_condition(ic)

Set the initial conditions for solver.

set_shape_d_critical(shape_d_crit)

Set the critical displacement shape factor for separation.

set_velocity(u_e[, du_e, d2u_e])

Set the edge velocity relations.

shape_d(x)

Calculate the displacement shape factor.

shape_k(x)

Calculate the kinetic energy shape factor.

solve(x0, x_end[, term_event])

Solve the ODE associated with particular IBL method.

tau_w(x, rho)

Calculate the wall shear stress.

u_e(x)

Return the inviscid edge velocity at specified location(s).

v_e(x)

Calculate the transpiration velocity.

Attributes

initial_delta_m

Momentum thickness at start of integration.

initial_shape_d

Dispacement thickness at start of integration.

nu

Kinematic viscosity used for the solution.

property initial_delta_m: float

Momentum thickness at start of integration. Must be greater than zero.

property initial_shape_d: float

Dispacement thickness at start of integration. Must be greater than zero

set_shape_d_critical(shape_d_crit)

Set the critical displacement shape factor for separation.

Since Head’s method does not predict when the skin friction will be zero, another mechanism needs to be employed to determine if/when separation will occur. This value is used as the threshold for the displacement shape factor to indicate separation has occurred.

Parameters:

shape_d_crit (float) – New value for the displacement shape factor to be used to indicate that the boundary layer has separated.

Return type:

None

v_e(x)

Calculate the transpiration velocity.

Parameters:

x (InputParam) – Streamwise loations to calculate this property.

Returns:

Desired transpiration velocity at the specified locations.

Return type:

numpy.ndarray

delta_d(x)

Calculate the displacement thickness.

Parameters:

x (InputParam) – Streamwise loations to calculate this property.

Returns:

Desired displacement thickness at the specified locations.

Return type:

numpy.ndarray

delta_m(x)

Calculate the momentum thickness.

Parameters:

x (InputParam) – Streamwise loations to calculate this property.

Returns:

Desired momentum thickness at the specified locations.

Return type:

numpy.ndarray

delta_k(x)

Calculate the kinetic energy thickness.

Parameters:

x (InputParam) – Streamwise loations to calculate this property.

Returns:

Desired kinetic energy thickness at the specified locations.

Return type:

numpy.ndarray

shape_d(x)

Calculate the displacement shape factor.

Parameters:

x (InputParam) – Streamwise loations to calculate this property.

Returns:

Desired displacement shape factor at the specified locations.

Return type:

numpy.ndarray

shape_k(x)

Calculate the kinetic energy shape factor.

Parameters:

x (InputParam) – Streamwise loations to calculate this property.

Returns:

Desired kinetic energy shape factor at the specified locations.

Return type:

numpy.ndarray

tau_w(x, rho)

Calculate the wall shear stress.

Parameters:
  • x (InputParam) – Streamwise loations to calculate this property.

  • rho (float) – Freestream density.

Returns:

Desired wall shear stress at the specified locations.

Return type:

numpy.ndarray

dissipation(x, rho)

Calculate the dissipation integral.

Parameters:
  • x (InputParam) – Streamwise loations to calculate this property.

  • rho (float) – Freestream density.

Returns:

Desired dissipation integral at the specified locations.

Return type:

numpy.ndarray

d2u_e(x)

Streamwise second derivative of inviscid edge velocity at location(s).

Parameters:

x (InputParam) – Streamwise loations to calculate this property.

Returns:

Second derivative of inviscid edge velocity.

Return type:

numpy.ndarray

Raises:

TypeError – When velocity parameters have not been set.

du_e(x)

Streamwise derivative of inviscid edge velocity at location(s).

Parameters:

x (InputParam) – Streamwise loations to calculate this property.

Returns:

Derivative of inviscid edge velocity.

Return type:

numpy.ndarray

Raises:

TypeError – When velocity parameters have not been set.

property nu: float

Kinematic viscosity used for the solution. Must be greater than zero.

set_initial_condition(ic)

Set the initial conditions for solver.

Parameters:

ic (InitialCondition) – Desired initial condition.

Return type:

None

set_velocity(u_e, du_e=None, d2u_e=None)

Set the edge velocity relations.

There are a number of different ways to set the velocity relation and its derivatives. See class definition for details.

Parameters:
  • u_e (2-tuple of array-like, scalar, or function-like) – Representation of the edge velocity to be used in analysis

  • du_e (None, 2-tuple of array-like, or function-like, optional) – Representation of the first derivative of the edge velocity to be used in analysis. The default is None.

  • d2u_e (None or function-like, optional) – Representation of the second derivative of the edge velocity to be used in analysis. The default is None.

Raises:

ValueError – When configuration parameter is invalid (see message).

Return type:

None

solve(x0, x_end, term_event=None)

Solve the ODE associated with particular IBL method.

This sets up the ODE solver using specific information from the child class and then runs the ODE solver to completion or termination because a termination event was triggered.

Parameters:
  • x0 (float) – Location to start integration.

  • x_end (float) – Location to end integration.

  • term_event (List based on TermEvent, optional) – User events that can terminate the integration process before the end location of the integration is reached. The default is None.

Returns:

Information associated with the integration process.

Return type:

IntegrationResult

Raises:

TypeError – When solution parameters have not been set.

u_e(x)

Return the inviscid edge velocity at specified location(s).

Parameters:

x (InputParam) – Streamwise loations to calculate this property.

Returns:

Inviscid edge velocity.

Return type:

numpy.ndarray

Raises:

TypeError – When velocity parameters have not been set.