I have a big problem solving a set of coupled nonlinear partial differential equations using NDSolve.
Solving the equations by themselves works quite well but if I want to couple them I get
"NDSolve::conarg: The arguments should be ordered consistently. >>"
but I can not see my mistake.
Maybe you can help me with this.
The first equation is:
ParametricNDSolve[
{D[Int[z, t],z] == -(a*b*Int[z, t]^k),
Int[0, t] ==c*(Exp[-4 Log[2] (t/f)^2}
, Int, {z, 0, 100*10^-9}, {t,tmin1, tmax1}, {a}]
This is easy to solve using Parametric NDsolve.
The second equation is (not coupled): with:
Int2[t]= a*(Exp[-4 Log[2] (t/f)^2]);
ParametricNDSolve[
{D[nn[t], t] == b*Int2[t]^k,
nn[t <= tmin1] == 0},
nn, {t,tmin1,tmax1},{a}, Method -> {StiffnessSwitching, Method -> {ExplicitRungeKutta, Automatic}}]
This is solved using ParametricNDSolve with Method -> {StiffnessSwitching, Method -> {ExplicitRungeKutta, Automatic}}
The coupling is givien by the replacement of Int2[t] by Int[z,t] thus my code should be:
ParametricNDSolve[
{
D[Int[z, t], z] == -a*b*Int[z, t]^k
, Int[0, t] == c*(Exp[-4 Log[2] (t/f)^2])
, D[nn[z, t], t] ==b*Int[z, t]^k
, nn[z, t /; t <= tmin1] == 0
}
, {Int, nn}
, {z, 0, 100*10^-9}
, {t, tmin1, tmax1}
, {a}
, MaxSteps -> 100000
, MaxStepSize -> Automatic
, StartingStepSize -> Automatic
, Method -> {StiffnessSwitching,
Method -> {ExplicitRungeKutta, Automatic}}
, AccuracyGoal -> 2
, PrecisionGoal -> 2
, EvaluationMonitor -> Automatic
];
a,b,c,f,k, tmin1 and tmax1 are just constants.
I would be glad if you could help me with this (maybe not so big) problem.
Thank you so much in advance.
Best greetings
P.S. This is only the first step and normally there is also a part in the equation for Int[z,t] that depdents on nn[t,z] but it is not in here for reasons of simplicity.