Cuboids, Cylinders, and Spheres

This example shows how to create 3-D geometries formed by one or more cubic, cylindrical, and spherical cells by using the multicuboid, multicylinder, and multisphere functions, respectively. With these functions, you can create stacked or nested geometries. You also can create geometries where some cells are empty; for example, hollow cylinders, cubes, or spheres.

All cells in a geometry must be of the same type: either cuboids, or cylinders, or spheres. These functions do not combine cells of different types in one geometry.

Single Sphere

Create a geometry that consists of a single sphere and include this geometry in a PDE model.

Use the multisphere function to create a single sphere. The resulting geometry consists of one cell.

gm = multisphere(5)
gm =
DiscreteGeometry with properties:

NumCells: 1
NumFaces: 1
NumEdges: 0
NumVertices: 0
Vertices: []

Create a PDE model.

model = createpde
model =
PDEModel with properties:

PDESystemSize: 1
IsTimeDependent: 0
Geometry: []
EquationCoefficients: []
BoundaryConditions: []
InitialConditions: []
Mesh: []
SolverOptions: [1x1 pde.PDESolverOptions]

Include the geometry in the model.

model.Geometry = gm
model =
PDEModel with properties:

PDESystemSize: 1
IsTimeDependent: 0
Geometry: [1x1 DiscreteGeometry]
EquationCoefficients: []
BoundaryConditions: []
InitialConditions: []
Mesh: []
SolverOptions: [1x1 pde.PDESolverOptions]

Plot the geometry.

pdegplot(model,'CellLabels','on') Nested Cuboids of Same Height

Create a geometry that consists of three nested cuboids of the same height and include this geometry in a PDE model.

Create the geometry by using the multicuboid function. The resulting geometry consists of three cells.

gm = multicuboid([2 3 5],[4 6 10],3)
gm =
DiscreteGeometry with properties:

NumCells: 3
NumFaces: 18
NumEdges: 36
NumVertices: 24
Vertices: [24x3 double]

Create a PDE model.

model = createpde
model =
PDEModel with properties:

PDESystemSize: 1
IsTimeDependent: 0
Geometry: []
EquationCoefficients: []
BoundaryConditions: []
InitialConditions: []
Mesh: []
SolverOptions: [1x1 pde.PDESolverOptions]

Include the geometry in the model.

model.Geometry = gm
model =
PDEModel with properties:

PDESystemSize: 1
IsTimeDependent: 0
Geometry: [1x1 DiscreteGeometry]
EquationCoefficients: []
BoundaryConditions: []
InitialConditions: []
Mesh: []
SolverOptions: [1x1 pde.PDESolverOptions]

Plot the geometry.

pdegplot(model,'CellLabels','on','FaceAlpha',0.5) Stacked Cylinders

Create a geometry that consists of three stacked cylinders and include this geometry in a PDE model.

Create the geometry by using the multicylinder function with the ZOffset argument. The resulting geometry consists of four cells stacked on top of each other.

gm = multicylinder(10,[1 2 3 4],'ZOffset',[0 1 3 6])
gm =
DiscreteGeometry with properties:

NumCells: 4
NumFaces: 9
NumEdges: 5
NumVertices: 5
Vertices: [5x3 double]

Create a PDE model.

model = createpde
model =
PDEModel with properties:

PDESystemSize: 1
IsTimeDependent: 0
Geometry: []
EquationCoefficients: []
BoundaryConditions: []
InitialConditions: []
Mesh: []
SolverOptions: [1x1 pde.PDESolverOptions]

Include the geometry in the model.

model.Geometry = gm
model =
PDEModel with properties:

PDESystemSize: 1
IsTimeDependent: 0
Geometry: [1x1 DiscreteGeometry]
EquationCoefficients: []
BoundaryConditions: []
InitialConditions: []
Mesh: []
SolverOptions: [1x1 pde.PDESolverOptions]

Plot the geometry.

pdegplot(model,'CellLabels','on','FaceAlpha',0.5) Hollow Cylinder

Create a hollow cylinder and include it as a geometry in a PDE model.

Create a hollow cylinder by using the multicylinder function with the Void argument. The resulting geometry consists of one cell.

gm = multicylinder([9 10],10,'Void',[true,false])
gm =
DiscreteGeometry with properties:

NumCells: 1
NumFaces: 4
NumEdges: 4
NumVertices: 4
Vertices: [4x3 double]

Create a PDE model.

model = createpde
model =
PDEModel with properties:

PDESystemSize: 1
IsTimeDependent: 0
Geometry: []
EquationCoefficients: []
BoundaryConditions: []
InitialConditions: []
Mesh: []
SolverOptions: [1x1 pde.PDESolverOptions]

Include the geometry in the model.

model.Geometry = gm
model =
PDEModel with properties:

PDESystemSize: 1
IsTimeDependent: 0
Geometry: [1x1 DiscreteGeometry]
EquationCoefficients: []
BoundaryConditions: []
InitialConditions: []
Mesh: []
SolverOptions: [1x1 pde.PDESolverOptions]

Plot the geometry.

pdegplot(model,'CellLabels','on','FaceAlpha',0.5) Partial Differential Equation Toolbox Documentation Get trial now