## 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 Geometry and Mesh.

```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));```
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);```
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);`