lagrangian.FiniteLyapunovExponentsIntegration

class lagrangian.FiniteLyapunovExponentsIntegration

Bases: lagrangian.core.Integration

Handles the computation of Lyapunov Exponent

Finite Size Lyapunov Exponent (FSLE) is a scalar local notion that represents the rate of separation of initially neighbouring particles over a finite-time window [t₀, t₀ + T], where T is the time two particules need to be advected in order to be separated from a given distance d.

Let x(t) = x(t; x₀, t₀) be the position of a lagrangian particle at time t, started at x₀ at t=t₀ and advected by the time-dependent fluid flow u(x, t).

The Forward Finite-Time Lyapunov Exponent at a point x₀ and for the advection time T is defined as the growth factor of the norm of the perturbation dx0 started around x₀ and advected by the flow after the finite advection time T.

Maximal stretching occurs when dx0 is aligned with the eigenvector associated with the maximum eigenvalue δmax of the Cauchy-Green strain tensor Δ:

Δ = [ ∇Φ₀ᵀ (x₀) ]^* [ ∇Φ₀ᵀ (x₀) ]

where Φ₀ᵀ : x₀ ➜ x(t, x₀, t₀) is the flow map of the advection equation: it links the location x₀ of a lagragian particule at t=t₀ to its position x(t,x₀,t₀) at time t. (* denotes the transposition operator).

FTLE is defined as

σ = ( 1 / (2*T) ) * log( λmax( Δ ) )

Finite-Size Lyapunov Exponent is similary defined: T is choosen so that neighbouring particules separate from a given distance d.

ComputeExponents(const Position& position) function implements the computation of the Lyapunov exponents based on maximal and minimal eigenvalues and orientation of eigenvectors of Δ given the elements of ∇Φ₀ᵀ matrix.

For more details see:

  1. G. Haller, Lagrangian coherent structures and the rate of strain in two-dimensional turbulence Phys. Fluids A 13 (2001) 3365-3385 (http://georgehaller.com/reprints/approx.pdf) Remark: In this paper, FTLE is referred to as the Direct Lyapunov Exponent (DLE)

__init__(self: lagrangian.core.FiniteLyapunovExponentsIntegration, start_time: lagrangian::DateTime, end_time: lagrangian::DateTime, delta_t: boost::posix_time::time_duration, mode: lagrangian.core.IntegrationMode, min_sepration: float, delta: float, field: lagrangian.core.Field = None) → None

Default constructor

Parameters

Methods

FiniteLyapunovExponentsIntegration.compute(…)

Calculate the integration

FiniteLyapunovExponentsIntegration.exponents(…)

Compute the eigenvalue and the orientation of the eigenvectors of the Cauchy-Green strain tensor

FiniteLyapunovExponentsIntegration.fetch(…)

Perform the tasks before a new time step (eg load grids required)

FiniteLyapunovExponentsIntegration.iterator(self)

Return an iterator that describes the integration period

FiniteLyapunovExponentsIntegration.separation(…)

Determine whether the particle is deemed to be separate

FiniteLyapunovExponentsIntegration.set_initial_point(…)

Set the value of the initial point

Attributes

FiniteLyapunovExponentsIntegration.mode

Mode of integration