TransWikia.com

Give NeumannValue a nonlinear function

Mathematica Asked on March 10, 2021

I have the following simpler example of my actual problem which reproduces my question

domain = RegionDifference[Rectangle[{0, 0}, {10, 10}], Disk[{5, 5}, 0.5]];
a = 0.5; b = 0.2; g = 5;
sol = NDSolve[{D[u[t, x, y], t] - g Laplacian[u[t, x, y], {x, y}] == 
    NeumannValue[-((a u[t, x, y])/(
      b + u[t, x, y])) , (x - 5)^2 + (y - 5)^2 == 0.5^2], 
   u[0, x, y] == 1}, u, {t, 0, 2}, {x, y} [Element] domain]

Which gives the error

Error message

Is it possible to give NeumannValue a nonlinear function?

One Answer

The nonlinear Finite Element solver was added in version 12.0 and you'd need that to solve this PDE.

domain = RegionDifference[Rectangle[{0, 0}, {10, 10}], 
   Disk[{5, 5}, 0.5]];
a = 0.5; b = 0.2; g = 5;
sol = NDSolveValue[{D[u[t, x, y], t] - 
      g Laplacian[u[t, x, y], {x, y}] == 
     NeumannValue[-((a u[t, x, y])/(b + u[t, x, y])), (x - 
           5)^2 + (y - 5)^2 == 0.5^2], u[0, x, y] == 1}, 
   u, {t, 0, 2}, {x, y} [Element] domain];
Plot3D[sol[2, x, y], {x, y} [Element] domain]

enter image description here

Answered by user21 on March 10, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP