Inverting dispersion relation

Hi everyone,

I’m trying to manipulate the dispersion relation for capillary-gravity waves, i.e.

?² = Tanh[kh](gk + ?k³/?)

in order to express k as a function of h. My first pick was to express h as a function of k

 h = (1/k) ArcTanh [?² (gk + ?k³/?)^(-1) ]

and then try to invert it with Findroot, typing 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}];

(I replaced some parameters with their experimental values) but this seems to stumble upon some convergence error. I’m not really familiar with Mathematica, and I found nothing that could help me in the doc. Does anyone have an idea on what I should try ?

Thanks in advance for your replies !

Hi,

Please see the following posts, where inverse function was discussed:

http://community.wolfram.com/groups/-/m/t/202130?p_p_auth=RqDuF3RE
http://community.wolfram.com/groups/-/m/t/195699?p_p_auth=z06oR5wZ

I.M.

Your Findroot line worked quite nice, although my solution seems to become complex much quicker that I expected, but I can figure out a physical explanation for this.

My deepest thanks !

>>Your Findroot line worked quite nice
Thanks, but it’s not mine in fact, I’ve googled in the past when I had a need for it :slight_smile:

I.M.