Can we solve time dependent non-linear PDE using solvepde?
2 views (last 30 days)
Show older comments
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
Answers (0)
See Also
Categories
Find more on General PDEs in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!