Solve 2-D PDEs Using the PDE App

The layout of the PDE app represents the sequence of steps you perform to solve a PDE. Specifically, the order of the PDE app menu and toolbar items represent these actions you perform:

    Note:   Platform-dependent keyboard accelerators are available for the most common PDE app activities. Learning to use the accelerator keys may improve the efficiency of your PDE app sessions.

  1. Start the PDE app using pdetool.

    At this point, the PDE app is in draw mode, where you can use the four basic solid objects to draw your Constructive Solid Geometry (CSG) model. You can also edit the set formula. The solid objects are selected using the five leftmost buttons (or from the Draw menu).

    To the right of the draw mode buttons you find buttons through which you can access all the functions that you need to define and solve the PDE problem: define boundary conditions, design the triangular mesh, solve the PDE, and plot the solution.

  2. Use the PDE app as a drawing tool to make a drawing of the 2-D geometry on which you want to solve your PDE. Make use of the four basic solid objects and the grid and the "snap-to-grid" feature. The PDE app starts in the draw mode, and you can select the type of object that you want to use by clicking the corresponding button or by using the Draw menu. Combine the solid objects and the set algebra to build the desired CSG model.

  3. Save the geometry to a model file. If you want to continue working using the same geometry at your next Partial Differential Equation Toolbox™ session, simply type the name of the model file at the MATLAB® prompt. The PDE app then starts with the model file's solid geometry loaded. If you save the PDE problem at a later stage of the solution process, the model file also contains commands to recreate the boundary conditions, the PDE coefficients, and the mesh.

  4. Move to the next step in the PDE solving process by clicking the ∂Ω button. The outer boundaries of the decomposed geometry are displayed with the default boundary condition indicated. If the outer boundaries do not match the geometry of your problem, reenter the draw mode. You can then correct your CSG model by adding, removing or altering any of the solid objects, or change the set formula used to evaluate the CSG model.

      Note:   The set formula can only be edited while you are in the draw mode.

    If the drawing process resulted in any unwanted subdomain borders, remove them by using the Remove Subdomain Border or Remove All Subdomain Borders option from the Boundary menu.

    You can now define your problem's boundary conditions by selecting the boundary to change and open a dialog box by double-clicking the boundary or by using the Specify Boundary Conditions option from the Boundary menu.

  5. Initialize the triangular mesh. Click the Δ button or use the corresponding Mesh menu option Initialize Mesh. Normally, the mesh algorithm's default parameters generate a good mesh. If necessary, they can be accessed using the Parameters menu item.

  6. If you need a finer mesh, the mesh can be refined by clicking the Refine button. Clicking the button several times causes a successive refinement of the mesh. The cost of a very fine mesh is a significant increase in the number of points where the PDE is solved and, consequently, a significant increase in the time required to compute the solution. Do not refine unless it is required to achieve the desired accuracy. For each refinement, the number of triangles increases by a factor of four. A better way to increase the accuracy of the solution to elliptic PDE problems is to use the adaptive solver, which refines the mesh in the areas where the estimated error of the solution is largest. See the adaptmesh reference page for an example of how the adaptive solver can solve a Laplace equation with an accuracy that requires more than 10 times as many triangles when regular refinement is used.

  7. Specify the PDE from the PDE Specification dialog box. You can access that dialog box using the PDE button or the PDE Specification menu item from the PDE menu.

      Note:   This step can be performed at any time prior to solving the PDE since it is independent of the CSG model and the boundaries. If the PDE coefficients are material dependent, they are entered in the PDE mode by double-clicking the different subdomains.

  8. Solve the PDE by clicking the = button or by selecting Solve PDE from the Solve menu. If you do not want an automatic plot of the solution, or if you want to change the way the solution is presented, you can do that from the Plot Selection dialog box prior to solving the PDE. You open the Plot Selection dialog box by clicking the button with the 3-D solution plot icon or by selecting the Parameters menu item from the Plot menu.

  9. Now, from here you can choose one of several alternatives:

    • Export the solution and/or the mesh to the MATLAB main workspace for further analysis.

    • Visualize other properties of the solution.

    • Change the PDE and recompute the solution.

    • Change the mesh and recompute the solution. If you select Initialize Mesh, the mesh is initialized; if you select Refine Mesh, the current mesh is refined. From the Mesh menu, you can also jiggle the mesh and undo previous mesh changes.

    • Change the boundary conditions. To return to the mode where you can select boundaries, use the ∂Ω button or the Boundary Mode option from the Boundary menu.

    • Change the CSG model. You can reenter the draw mode by selecting Draw Mode from the Draw menu or by clicking one of the Draw Mode icons to add another solid object. Back in the draw mode, you are able to add, change, or delete solid objects and also to alter the set formula.

In addition to the recommended path of actions, there are a number of shortcuts, which allow you to skip over one or more steps. In general, the PDE app adds the necessary steps automatically.

  • If you have not yet defined a CSG model, and leave the draw mode with an empty model, the PDE app creates an L-shaped geometry with the default boundary condition and then proceeds to the action called for, performing all the steps necessary.

  • If you are in draw mode and click the Δ button to initialize the mesh, the PDE app first decomposes the geometry using the current set formula and assigns the default boundary condition to the outer boundaries. After that, an initial mesh is created.

  • If you click the refine button to refine the mesh before the mesh has been initialized, the PDE app first initializes the mesh (and decomposes the geometry, if you were still in the draw mode).

  • If you click the = button to solve the PDE and you have not yet created a mesh, the PDE app initializes a mesh before solving the PDE.

  • If you select a plot type and choose to plot the solution, the PDE app checks to see if there is a solution to the current PDE available. If not, the PDE app first solves the current PDE. The solution is then displayed using the selected plot options.

  • If you have not defined your PDE, the PDE app solves the default PDE, which is Poisson's equation:

    –Δu = 10.

    (This corresponds to the generic elliptic PDE with c = 1, a = 0, and f = 10.) For the different application modes, different default PDE settings apply.

Was this topic helpful?