celeries.mmr.MMR#
- class celeries.mmr.MMR(m0, m, k, degree, G=39.47692640889763)#
Model of mean-motion resonances and resonant chains in the planar case.
The Hamiltonian is computed following Delisle (2017). The Hamiltonian variables are v = (y, phi, x, dL), with \(y_i = \sqrt{2 D_i} \sin(\sigma_i)\), \(x_i = \sqrt{2 D_i} \cos(\sigma_i)\), where \(D_i\) is the angular momentum deficit (AMD) of planet i. phi and dL are the three planet angles and associated actions (\(\Delta L\)), as defined in Delisle (2017). The two first integrals are delta and Gamma. We consider the renormalized (by Gamma) problem, so Gamma = 1 by definition, and delta as well as all other actions are normalized by Gamma.
- Parameters:
- m0float
Mass of the star.
- m(npla,) ndarray
Masses of the planets (from the inner to the outer).
- k(npla-1, 2) ndarray
Coefficients of the resonances between consecutive planets. A chain of 3 planets with a 3/2 resonance between the two inner planet, and 4/3 resonance between the two outer ones would have: k = np.array([[2,3], [3,4]]).
- degreeint
Degree of the development in eccentricity.
- Gfloat
Gravitational constant.
- Attributes:
- HSeries
Hamiltonian.
- grad_H(4*npla-4,) ndarray
Array of Series giving the gradient of the Hamiltonian with respect to the variables v (y, phi, x, dL).
- JSeries
Symplectic matrix.
- dv(4*npla-4,) ndarray
Array of Series giving the temporal derivatives of the variables v.
- grad_dv(4*npla-4, 4*npla-4) ndarray
Matrix of series giving the gradient of dv (aka Jacobian matrix).
Methods
couple_latex_labels(i, j)Latex string of the definition of the two resonance angles sigi, sigj, for the couple of planets i, j (as computed by
v2couple()).ell2v(ell[, km_max])Convert elliptical coordinates to the coordinates of the average problem v = (y, phi, x, dL).
eval_array(a, v, delta)Evaluate an array (of arbitrary dimension) with the provided values of the Hamiltonian variables v (y, phi, x, dL) and delta.
eval_dv(v, delta)Evaluate the temporal derivatives dv/dt of the Hamiltonian variables v (y, phi, x, dL).
eval_grad_dv(v, delta)Evaluate the Jacobian matrix (matrix of the gradients of the derivatives dv/dt).
fp_modes(v_fp, delta)Compute the eigenvalues and eigenmodes around a fixed point.
fp_normalform(v_fp, delta, order[, ...])Compute the Birkhoff normal form (
birkhoff.NormalForm) around a fixed point.grad(f)Compute the gradient of f with respect to the Hamiltonian variables: y, phi, x, dL.
Latex string of the definition of the i-th Laplace angle (phi_i).
merge_fp(sols_fp[, min_rep_merge, ...])Merge and link the fixed points found by
solve_fp()after several tries for a grid of values of delta.random_v0(delta[, nsample, factor])Generate random coordinates v0 to use as initial values for
solve_fp().solve_fp(v0, delta, **kwargs)Local root-finding of the derivatives (dv/dt) to find a fixed point of the averaged problem.
v2couple(v, i, j)Compute the two resonance angles of a couple of planet from the coordinates v = (y, phi, x, dL).
v2ell(v, delta[, Gamma, phiG, phiGamma, km_max])Convert the coordinates of the average problem v = (y, phi, x, dL) to elliptical coordinates.