# filterByIndex

Access transient results for specified time steps

Since R2023b

## Syntax

``subsetR = filterByIndex(results,inds)``

## Description

````subsetR = filterByIndex(results,inds)` accesses transient results corresponding to the specified time steps.```

example

## Examples

collapse all

Analyze heat transfer in a cylinder.

Create an `femodel` object for solving a transient thermal problem, and assign a geometry representing a cylinder to the model.

```model = femodel(AnalysisType="thermalTransient", ... Geometry=multicylinder(0.005,0.01));```

Plot the geometry.

`pdegplot(model,FaceLabels="on",FaceAlpha=0.5);`

Assuming that the heat sink is made of copper, specify the thermal conductivity, mass density, and specific heat.

```model.MaterialProperties = ... materialProperties(ThermalConductivity=400, ... MassDensity=8960, ... SpecificHeat=386);```

Specify the Stefan-Boltzmann constant.

`model.StefanBoltzmann = 5.670367e-8;`

Apply the temperature boundary condition on the bottom surface of the cylinder.

`model.FaceBC(1) = faceBC(Temperature=1000);`

Specify the convection and radiation parameters on the top and side surfaces of the cylinder.

```model.FaceLoad([2 3]) = faceLoad(ConvectionCoefficient=5, ... AmbientTemperature=300, ... Emissivity=0.8);```

Set the initial temperature to the ambient temperature.

`model.CellIC = cellIC(Temperature=300);`

Generate a mesh.

`model = generateMesh(model);`

Solve the transient thermal problem at 0, 0.1, and 0.2 seconds.

`results = solve(model,0:0.1:0.2);`

Plot the temperature distribution for each time step. Access the results for each step by using the `filterByIndex` function.

```for i = 1:length(results.SolutionTimes) figure resultsByStep = filterByIndex(results,i); pdeplot3D(results.Mesh,ColorMapData=resultsByStep.Temperature); clim([300 1000]) title({['Time = ' num2str(results.SolutionTimes(i)) 's']}) end```

Now, use the transient thermal results obtained for the second time step as the initial temperature of the cylinder.

```R = filterByIndex(results,2); model.CellIC = cellIC(Temperature=R);```

Solve the transient thermal problem for the 10 time steps between 0.1 and 0.11 second.

`results_01_011 = solve(model,linspace(0.1,0.11,10));`

## Input Arguments

collapse all

Solution of a structural or thermal problem, specified as a `TransientStructuralResults` object or a `TransientThermalResults` object. Create `results` by using `solve`.

Time steps, specified as a vector of positive integers.

## Output Arguments

collapse all

Solutions corresponding to specified time steps, returned as a `TransientStructuralResults` object or a `TransientThermalResults` object.

## Version History

Introduced in R2023b