# evaluateReaction

Evaluate reaction forces on boundary

## Syntax

``F = evaluateReaction(structuralresults,RegionType,RegionID)``

## Description

````F = evaluateReaction(structuralresults,RegionType,RegionID)` evaluates reaction forces on the boundary specified by `RegionType` and `RegionID`. The function uses the global Cartesian coordinate system. For transient and frequency response structural problems, `evaluateReaction` evaluates reaction forces for all time- and frequency-steps, respectively.```

example

## Examples

collapse all

Create and plot a cuboid geometry.

```gm = multicuboid(0.01,0.01,0.05); pdegplot(gm,FaceLabels="on",FaceAlpha=0.5);```

Create an `femodel` object for static structural analysis and include the geometry into the model.

```model = femodel(AnalysisType="structuralStatic", ... Geometry=gm);```

Specify Young's modulus and Poisson's ratio.

```model.MaterialProperties = ... materialProperties(YoungsModulus=210E9, ... PoissonsRatio=0.3);```

Fix one end of the bar and apply pressure to the opposite end.

```model.FaceBC(1) = faceBC(Constraint="fixed"); model.FaceLoad(2) = faceLoad(Pressure=100);```

Generate a mesh and solve the problem.

```model = generateMesh(model,Hmax=0.003); structuralresults = solve(model);```

Compute the reaction forces on the fixed end.

`reaction = evaluateReaction(structuralresults,Face=1)`
```reaction = struct with fields: Fx: -2.3456e-05 Fy: -1.6612e-05 Fz: 0.0103 ```

Evaluate the reaction forces at the fixed end of a beam subject to harmonic excitation.

Create and plot a beam geometry.

```gm = multicuboid(0.06,0.005,0.01); pdegplot(gm,FaceLabels="on",FaceAlpha=0.5) view(50,20)```

Create an `femodel` object for transient structural analysis and include the geometry into the model.

```model = femodel(AnalysisType="structuralTransient", ... Geometry=gm);```

Specify Young's modulus, Poisson's ratio, and the mass density of the material.

```model.MaterialProperties = ... materialProperties(YoungsModulus=210E9, ... PoissonsRatio=0.3, ... MassDensity=7800);```

Fix one end of the beam.

`model.FaceBC(5) = faceBC(Constraint="fixed");`

Apply a sinusoidal displacement along the y-direction on the end opposite the fixed end of the beam.

```yDisplacemenmtFunc = ... @(location, state) ones(size(location.y))*1E-4*sin(50*state.time); model.FaceBC(3) = faceBC(YDisplacement=yDisplacemenmtFunc);```

Generate a mesh.

`model = generateMesh(model,Hmax=0.01);`

Specify the zero initial displacement and velocity.

`model.CellIC = cellIC(Displacement=[0;0;0],Velocity=[0;0;0]);`

Solve the problem.

```tlist = 0:0.002:0.2; R = solve(model,tlist);```

Compute the reaction forces on the fixed end.

`reaction = evaluateReaction(R,Face=5)`
```reaction = struct with fields: Fx: [101x1 double] Fy: [101x1 double] Fz: [101x1 double] ```

## Input Arguments

collapse all

Solution of the structural analysis problem, specified as a `StaticStructuralResults`, `TransientStructuralResults`, or `FrequencyStructuralResults` object. Create `structuralresults` by using the `solve` function.

Geometric region type, specified as `"Edge"` for a 2-D model or `"Face"` 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 `pdegplot`.

Data Types: `double`

## Output Arguments

collapse all

Reaction forces, returned as a structure array. The array fields represent the integrated reaction forces and surface traction vector, which are computed by using the state of stress on the boundary and the outward normal.

## Version History

Introduced in R2017b

expand all