Solve Problems Using PDEModel Objects

  1. Put your problem in the correct form for Partial Differential Equation Toolbox™ solvers. For details, see Equations You Can Solve Using PDE Toolbox. If you need to convert your problem to divergence form, see Put Equations in Divergence Form.

  2. Create a PDEModel model container. For scalar PDEs, use createpde with no arguments.

    model = createpde();

    If N is the number of equations in your system, use createpde with input argument N.

    model = createpde(N);
  3. Import or create the geometry. For details, see STL File Import or Three Ways to Create 2-D Geometry.

    importGeometry(model,'geometry.stl'); % importGeometry for 3-D
    geometryFromEdges(model,g); % geometryFromEdges for 2-D
  4. View the geometry so that you know the labels of the boundaries.

    pdegplot(model,'FaceLabels','on') % 'FaceLabels' for 3-D
    pdegplot(model,'EdgeLabels','on') % 'EdgeLabels' for 2-D

    To see labels of a 3-D model, you might need to rotate the model, or make it transparent, or zoom in on it. See STL File Import.

  5. Create the boundary conditions. For details, see Specify Boundary Conditions.

    % 'face' for 3-D
    applyBoundaryCondition(model,'dirichlet','face',[2,3,5],'u',[0,0]);
    % 'edge' for 2-D
    applyBoundaryCondition(model,'neumann','edge',[1,4],'g',1,'q',eye(2));

    For more information on boundary conditions, see Boundary Conditions.

  6. Create the PDE coefficients.

    f = [1;2];
    a = 0;
    c = [1;3;5];
    specifyCoefficients(model,'m',0,'d',0,'c',c,'a',a,'f',f);

    For all information on coefficients, see PDE Coefficients.

  7. For time-dependent equations, or optionally for nonlinear stationary equations, create an initial condition. See Set Initial Conditions.

  8. Create the mesh.

    generateMesh(model);
  9. Call the appropriate solver. For all problems except for eigenvalue problems, call solvepde.

    result = solvepde(model); % for stationary problems
    result = solvepde(model,tlist); % for time-dependent problems

    For eigenvalue problems, use solvepdeeig:

    result = solvepdeeig(model);
  10. Examine the solution. See Plot 2-D Solutions and Their Gradients and Plot 3-D Solutions and Their Gradients.

See Also

| | | | | | |

Related Topics