Main Content

findHeatSource

Find heat source assigned to a geometric region

Description

example

hsa = findHeatSource(heatSources,RegionType,RegionID) returns the heat source value hsa assigned to the specified region.

Examples

collapse all

Create a thermal model that has three faces.

thermalmodel = createpde("thermal");
geometryFromEdges(thermalmodel,@lshapeg);
pdegplot(thermalmodel,"FaceLabels","on")
ylim([-1.1 1.1])
axis equal

Specify that face 1 generates heat at 10 W/m^3, face 2 generates heat at 20 W/m^3, and face 3 generates heat at 30 W/m^3.

internalHeatSource(thermalmodel,10,"Face",1);
internalHeatSource(thermalmodel,20,"Face",2);
internalHeatSource(thermalmodel,30,"Face",3);

Check the heat source specification for face 1.

hsaFace1 = findHeatSource(thermalmodel.HeatSources,"Face",1)
hsaFace1 = 
  HeatSourceAssignment with properties:

    RegionType: 'face'
      RegionID: 1
    HeatSource: 10
         Label: []

Check the heat source specification for faces 2 and 3.

hsa = findHeatSource(thermalmodel.HeatSources,"Face",[2 3]);
hsaFace2 = hsa(1)
hsaFace2 = 
  HeatSourceAssignment with properties:

    RegionType: 'face'
      RegionID: 2
    HeatSource: 20
         Label: []

hsaFace3 = hsa(2)
hsaFace3 = 
  HeatSourceAssignment with properties:

    RegionType: 'face'
      RegionID: 3
    HeatSource: 30
         Label: []

Create a geometry that consists of three stacked cylinders and include the geometry in a thermal model.

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

       NumCells: 3
       NumFaces: 7
       NumEdges: 4
    NumVertices: 4
       Vertices: [4x3 double]

thermalmodel = createpde("thermal");
thermalmodel.Geometry = gm;
pdegplot(thermalmodel,"CellLabels","on","FaceAlpha",0.5)

Specify that the cylinder C1 generates heat at 10W/m3, the cylinder C2 generates heat at 20W/m3, and the cylinder C3 generates heat at 30W/m3.

internalHeatSource(thermalmodel,10,"Cell",1);
internalHeatSource(thermalmodel,20,"Cell",2);
internalHeatSource(thermalmodel,30,"Cell",3);

Check the heat source specification for cell 1.

hsaCell1 = findHeatSource(thermalmodel.HeatSources,"Cell",1)
hsaCell1 = 
  HeatSourceAssignment with properties:

    RegionType: 'cell'
      RegionID: 1
    HeatSource: 10
         Label: []

Check the heat source specification for cells 2 and 3.

hsa = findHeatSource(thermalmodel.HeatSources,"Cell",2:3);
hsaCell2 = hsa(1)
hsaCell2 = 
  HeatSourceAssignment with properties:

    RegionType: 'cell'
      RegionID: 2
    HeatSource: 20
         Label: []

hsaCell3 = hsa(2)
hsaCell3 = 
  HeatSourceAssignment with properties:

    RegionType: 'cell'
      RegionID: 3
    HeatSource: 30
         Label: []

Input Arguments

collapse all

Internal heat source of the model, specified as the HeatSources property of a ThermalModel object.

Example: thermalmodel.HeatSources

Geometric region type, specified as "Face" for a 2-D model or "Cell" for a 3-D model.

Data Types: char | string

Geometric region ID, specified as a vector of positive integers. Find the region IDs by using the pdegplot function.

Data Types: double

Output Arguments

collapse all

Heat source assignment, returned as a HeatSourceAssignment Properties object.

Version History

Introduced in R2017a