## View, Edit, and Delete Boundary Conditions

### View Boundary Conditions

A PDE model stores boundary conditions in its `BoundaryConditions` property. To obtain the boundary conditions stored in the PDE model called `model`, use this syntax:

`BCs = model.BoundaryConditions;`

To see the active boundary condition assignment for a region, call the `findBoundaryConditions` function.

For example, create a model and view the geometry.

```model = createpde(3); importGeometry(model,'Block.stl'); pdegplot(model,'FaceLabels','on','FaceAlpha',0.5)```

Set zero Dirichlet conditions for all equations and all regions in the model.

`applyBoundaryCondition(model,'dirichlet','Face',1:6,'u',[0,0,0]);`

On face 3, set the Neumann boundary condition for equation 1 and Dirichlet boundary condition for equations 2 and 3.

```h = [0 0 0;0 1 0;0 0 1]; r = [0;3;3]; q = [1 0 0;0 0 0;0 0 0]; g = [10;0;0]; applyBoundaryCondition(model,'mixed','Face',3,'h',h,'r',r,'g',g,'q',q);```

View the boundary condition assignment for face 3. The result shows that the active boundary condition is the last assignment.

```BCs = model.BoundaryConditions; findBoundaryConditions(BCs,'Face',3)```
```ans = BoundaryCondition with properties: BCType: 'mixed' RegionType: 'Face' RegionID: 3 r: [3x1 double] h: [3x3 double] g: [3x1 double] q: [3x3 double] u: [] EquationIndex: [] Vectorized: 'off' ```

View the boundary conditions assignment for face 1.

`findBoundaryConditions(BCs,'Face',1)`
```ans = BoundaryCondition with properties: BCType: 'dirichlet' RegionType: 'Face' RegionID: [1 2 3 4 5 6] r: [] h: [] g: [] q: [] u: [0 0 0] EquationIndex: [] Vectorized: 'off' ```

The active boundary conditions assignment for face 1 includes all six faces, though this assignment is no longer active for face 3.

### Delete Existing Boundary Conditions

To remove all the boundary conditions in the PDE model called `pdem`, use `delete`.

`delete(pdem.BoundaryConditions)`

To remove specific boundary conditions assignments from `pdem`, delete them from the `pdem.BoundaryConditions.BoundaryConditionAssignments` vector. For example,

```BCv = pdem.BoundaryConditions.BoundaryConditionAssignments; delete(BCv(2))```

### Tip

You do not need to delete boundary conditions; you can override them by calling `applyBoundaryCondition` again. However, removing unused assignments can make your model more concise.

### Change a Boundary Conditions Assignment

To change a boundary conditions assignment, you need the boundary condition’s handle. To get the boundary condition’s handle:

• Retain the handle when using `applyBoundaryCondition`. For example,

```bc1 = applyBoundaryCondition(model,'dirichlet', ... 'Face',1:6, ... 'u',[0 0 0]);```
• Obtain the handle using `findBoundaryConditions`. For example,

```BCs = model.BoundaryConditions; bc1 = findBoundaryConditions(BCs,'Face',2)```
```bc1 = BoundaryCondition with properties: BCType: 'dirichlet' RegionType: 'Face' RegionID: [1 2 3 4 5 6] r: [] h: [] g: [] q: [] u: [0 0 0] EquationIndex: [] Vectorized: 'off'```

You can change any property of the boundary conditions handle. For example,

```bc1.BCType = 'neumann'; bc1.u = []; bc1.g = [0 0 0]; bc1.q = [0 0 0]; bc1```
```bc1 = BoundaryCondition with properties: BCType: 'neumann' RegionType: 'Face' RegionID: [1 2 3 4 5 6] r: [] h: [] g: [0 0 0] q: [0 0 0] u: [] EquationIndex: [] Vectorized: 'off'```

### Note

Editing an existing assignment in this way does not change its priority. For example, if the active boundary condition was assigned after `bc1`, then editing `bc1` does not make `bc1` the active boundary condition.

Get trial now