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:
- How to express the partial differential equation with vectorised form?
- How to express the natural boundary?
p
a vector valued function?) $\endgroup$p[t,Sequence@x]
all four places. $\endgroup$LFP
if that doesnt fix it. $\endgroup$Σ
,M
,LFP
? $\endgroup$