Can we solve time dependent non-linear PDE using solvepde?
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (0)
Siehe auch
Kategorien
Mehr zu Boundary Conditions finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!