I have this system of PDE below. But upon running the code I get an error:
R = 3.95;
gamma1 = 0.2667;
gamma2 = 0.35;
This is the system of equations, initial conditions, and boundary conditions:
eqns = {Derivative[0, 1][mT][phi, t] == Derivative[2, 0][mT][phi, t],
Derivative[0, 1][mB][phi, t] ==
gamma1*mT[phi, t]*cB[r, phi, t] - gamma2*mB[phi, t] +
Derivative[2, 0][mB][phi, t],
Derivative[0, 0, 1][cB][r, phi, t] ==
Derivative[2, 0, 0][cB][r, phi, t] +
1./r^2*Derivative[0, 2, 0][cB][r, phi, t],
(*initial condition*)
mT[phi, 0] == 0.001, mB[phi, 0] == 0, cB[r, phi, 0] == 0.005,
(*boundary condition*)
Derivative[1, 0, 0][cB][R, phi,
t] == -gamma1*mT[phi, t]*cB[R, phi, t] + gamma2*mB[phi, t]
};
I try to solve it:
usol = NDSolveValue[
eqns, {mT, mB, cB}, {r, 0, R}, {theta, 0, Pi}, {phi, 0, 2*Pi}, {t,
0, 1}]
However, I get this error:
NDSolveValue::derlen: The length of the derivative operator Derivative[0,1] in (mT^(0,1))[phi,t] is not the same as the number of arguments.
I think the problem is that in the boundary condition I try to make a derivative at R = 3.95, which I already pass it as an argument. How can I pass the boundary condition in a proper way?
3
for all functions in your pde-system!?! $\endgroup$[r,phi,t]
. It is necessary to excludetheta
fromNDSolve
. What is expected to receive? Boundary conditions must be formulated at least atr=R
. The initial data is the solution. Need to change formb[r,phi,0]
. $\endgroup$