1

I want to solve the Fokker-Planck Equation which is used to describe the evolution of orbital dynamics, but I got an error like

NDSolveValue::litarg: To avoid possible ambiguity, the arguments of the dependent variable in p[t,{Subscript[r, 1],Subscript[r, 2],Subscript[r, 3],Subscript[v, 1],Subscript[v, 2],Subscript[v, 3]}] should literally match the independent variables.

Main source code is given as below:

tmin = 0;
tmax = 60;
x = 
  {Subscript[r, 1], Subscript[r, 2], Subscript[r, 3], 
   Subscript[v, 1], Subscript[v, 2], Subscript[v,3]};
pdf0 = 1/(8 π^3 Sqrt[Det[Σ]])Exp[-(1/2) (x - M).Inverse[Σ].(x - M) ];
sol = 
  NDSolveValue[
    {D[p[t, x], {t}] == LFP[x, p[t, x]], p[0, x] == pdf0},
    p[t, x],
    {t, tmin, tmax},
    {x[[1]], -∞, ∞}, {x[[2]], -∞, ∞}, 
    {x[[3]], -∞, ∞}, {x[[4]], -∞, ∞},
    {x[[5]], -∞, ∞}, {x[[6]], -∞, ∞}]

Note that x is a 6x1 vector. Σ is a 6x6 covariance matrix and M is a 6x1 real vector. As you can see, pdf0 is the PDF of MultiGaussian distribution. LFP is a differential operator. I guess this operator is correctly defined since I have tested it with values. There are two questions:

  1. How to express the partial differential equation with vectorised form?
  2. How to express the natural boundary?
Mr.Wizard
  • 271,378
  • 34
  • 587
  • 1,371
Walter He
  • 11
  • 2
  • see here for posing a pde in vector form. http://mathematica.stackexchange.com/q/78641/2079 (Actually i,m not sure now if that's relevant. is p a vector valued function?) – george2079 Dec 17 '16 at 14:19
  • The p[t,x] is a scalar function (time variant PDF). I think I need to specify the size of the inputs x(6x1), t (a scalar) and p(t,x) (a scalar function) to Mathematica, but I do not know how. Could you help me? I will go to the page you recommended. Thanks for your reminding and help. – Walter He Dec 18 '16 at 00:40
  • ok, its not a vector equation, disregard first comment. I've never seen that error, but try p[t,Sequence@x] all four places. – george2079 Dec 18 '16 at 13:42
  • you probably should show LFP if that doesnt fix it. – george2079 Dec 18 '16 at 13:53
  • I tried your suggestion but the problem is not solved. So I put on the LFP and related functions. Actually, it is a fokker-planck equaiton which is used to describe the revolution of probability density function (pdf) of the state x for a orbital dynamics. Thanks a lot for your help. – Walter He Dec 19 '16 at 11:50
  • are you getting the same error? I think you can not use D[p,x[[i]]] inside LFP because x will have numeric value there, but that is not related to the error in the question. – george2079 Dec 19 '16 at 12:33
  • Sorry, just looking again that should be p[t,Sequence@@x] . The idea being you unknown function is a function with 7 arguments, not two arguments with one argument a list. – george2079 Dec 19 '16 at 20:52
  • 2
    Where's the definition of Σ, M, LFP? – xzczd Dec 22 '16 at 10:50

0 Answers0