# findHeatSource

Find heat source assigned to a geometric region

## Syntax

``hsa = findHeatSource(thermalmodel.HeatSources,RegionType,RegionID)``

## Description

example

````hsa = findHeatSource(thermalmodel.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 ```

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 ```
`hsaFace3 = hsa(2)`
```hsaFace3 = HeatSourceAssignment with properties: RegionType: 'face' RegionID: 3 HeatSource: 30 ```

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

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 ```
`hsaCell3 = hsa(2)`
```hsaCell3 = HeatSourceAssignment with properties: RegionType: 'cell' RegionID: 3 HeatSource: 30 ```

## Input Arguments

collapse all

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

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.