# findHeatSource

Find heat source assigned to a geometric region

## Syntax

``hsa = findHeatSource(heatSources,RegionType,RegionID)``

## 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 $10\phantom{\rule{0.16666666666666666em}{0ex}}W/{m}^{3}$, the cylinder `C2` generates heat at $20\phantom{\rule{0.16666666666666666em}{0ex}}W/{m}^{3}$, and the cylinder `C3` generates heat at $30\phantom{\rule{0.16666666666666666em}{0ex}}W/{m}^{3}$.

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