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: [3×1 double]
h: [3×3 double]
g: [3×1 double]
q: [3×3 double]
u: []
EquationIndex: []
Vectorized: 'off'
InternalBC: []
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'
InternalBC: []
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];
bc1bc1 =
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.