- #1
Takeshin
- 6
- 0
Hi guys,
I'm currently working on a project related to Faraday instability, and I of course came across the dispersion relation for capillary-gravity waves, i.e.
ω² = tanh(kh)(gk + σk³/ρ) .
Now I would need to numerically solve this relation for the wavenumber k as a function of depth h (in fact, this is the wavelength I'm interested in, but this is given freely if I know the wavenumber). My first reflex was to rewrite this relation in terms of h as a function of k
h = (1/k) arctanh [ω² (gk + σk³/ρ)^(-1) ]
and then try to invert it with Mathematica (which I'm not really familiar with, but it seemed the easiest choice to me). I tried using Findroot, with something like this :
h[x_] := (1/x) ArcTanh[((70 \[Pi])^2)/ (9.81x +
(0.0206 x³/950) )]
hmax = 0.01;
hmin = 0.001;
dh = 0.0001;
Sol = Table[{{b -> i}, FindRoot[i == h[x], {x, 0.001}]} //
Flatten, {i, hmin, hmax, dh}];
but this seems to stumble upon some convergence error (here I replaced ω, ρ and σ with numerical values related to my experimental setup), and I found nothing that seemed really helpful in the doc. Does anyone have an idea on what I should try to make it work ?
Thanks in advance for you replies.
I'm currently working on a project related to Faraday instability, and I of course came across the dispersion relation for capillary-gravity waves, i.e.
ω² = tanh(kh)(gk + σk³/ρ) .
Now I would need to numerically solve this relation for the wavenumber k as a function of depth h (in fact, this is the wavelength I'm interested in, but this is given freely if I know the wavenumber). My first reflex was to rewrite this relation in terms of h as a function of k
h = (1/k) arctanh [ω² (gk + σk³/ρ)^(-1) ]
and then try to invert it with Mathematica (which I'm not really familiar with, but it seemed the easiest choice to me). I tried using Findroot, with something like this :
h[x_] := (1/x) ArcTanh[((70 \[Pi])^2)/ (9.81x +
(0.0206 x³/950) )]
hmax = 0.01;
hmin = 0.001;
dh = 0.0001;
Sol = Table[{{b -> i}, FindRoot[i == h[x], {x, 0.001}]} //
Flatten, {i, hmin, hmax, dh}];
but this seems to stumble upon some convergence error (here I replaced ω, ρ and σ with numerical values related to my experimental setup), and I found nothing that seemed really helpful in the doc. Does anyone have an idea on what I should try to make it work ?
Thanks in advance for you replies.