MATLAB Answers

Can we solve time dependent non-linear PDE using solvepde?

5 views (last 30 days)
RAVINA SHOKEEN
RAVINA SHOKEEN on 4 Jul 2020
I tried the following code to solve time depenedent non linear pde but I am not getting the convergence.
The coefficient c is sqrt(1+ux^2+uy^2) and the exact solution I am taking is u= x*y*(x-1)*(y-1) corresponding We can find f which is a function of x,y and t.
model = createpde(1);
R1 = [3;4;0;1;1;0;0;0;1;1];g=decsg(R1);
geometryFromEdges(model,g);
pdegplot(model,'EdgeLabels','on');
xlim([0,1]);
ylim([0,1]);
axis equal
applyBoundaryCondition(model,'dirichlet','Edge',1:4,'u',0);
setInitialConditions(model,0);
specifyCoefficients(model,'m',0,'d',1,'c',@ccoeffunction,'a',0,'f',@fcoeffunction);
mesh = generateMesh(model,'Hmax',0.125,'GeometricOrder','linear');model.SolverOptions.MaxIterations = 30; model.SolverOptions.ResidualNorm =Inf ;model.SolverOptions.ReportStatistics = 'on';
tlist = linspace(0,1,17);
results = solvepde(model,tlist);
u = results.NodalSolution;
pdeplot(model,'XYData',u(:,17),'ZData',u(:,17))

  0 Comments

Sign in to comment.

Answers (0)