Deflection App

User Manual

Software version 5.13.0

Documentation revised September 2021

This document describes the full edition of Deflection. Other editions, such as Deflection Lite, Deflection Free, and Deflection Web will behave similarly, but may have a more restricted set of functionality.

Introduction

Deflection is a software platform for simplified structural beam analysis on mobile devices, computers, and browsers. This software is both a powerful learning companion, and a long-term reference tool for mechanical engineers, civil engineers, structural engineers, and architects.

Unlike other software tools, Deflection aims to be simple and lightweight while still powerful and reliable. The software is currently available on every major software platform (iOS, Android, macOS, and Windows) as an app, and it is also accessible on the web at https://deflection.app.

The apps and the web platform complement each other, and both are intended to be used together. Some functionality such as sharing designs and printing to PDF is done in the browser, while other tasks such as enhanced design editing is done on the apps themselves. Future software features may be released in some platforms first before the others.

A database of built-in materials and shapes is included, but users can also customize cross section dimensions as needed. Results, including reactions, diagrams, equations, and basic internal stress analysis are automatically produced. Highlights of the app features and comparisons across editions can be found at https://www.blueketchep.com/en/deflection.

Quick Start Example

Solve a simple cantilever in seconds!

  1. If there are any loads on your beam, you can either drag them off the beam or clear the beam completely.
  2. Drag loads onto the beam.

Great Job! You produced shear and bending moment diagrams by simply placing loads on the beam!

  1. Drag a fixed support onto the beam.

Congratulations! You produced slope and deflection diagrams by simply placing loads on the beam!

  1. Review and adjust beam properties as needed. This includes moment of inertia, area, elastic modulus, etc.

Tip To set beam length, click on the length label beneath the beam.

  1. You are done! Review your results or iterate on your design.

General tips and conventions

Load signs and directions

For simplicity, instead of defining a positive/negative sign convention in the beam's free body diagram, we indicate direction graphically. Internally, the software does have positive/negative sign convention, but this is unnecessary complexity that the user does not need to be concerned about.

The direction of loads is displayed in two ways:

  1. What you see is what you get. The load icon itself matches its own direction. For example, upward applied forces drawn with upward pointing arrows, and counter-clockwise applied moments are represented by circular arrows that point in a counter-clockwise rotation.

Icon direction

  1. The direction of the load is also indicated by an icon within the magnitude value label for each load.

Label sign

Editable input label

Editable labels on visualizations have white rounded backgrounds.

Read-only output results label

Labels with black backgrounds are used to display output results.

Numpad Input Method

The on-screen numpad allows you to enter values on your phone or tablet without an attached keyboard. It also allows you to specify the units for the label that you are editing, and it has a scroller to slide values up and down.

Loads

Any number of loads can be added to the beam. Three types of loads are available:

  • Forces (also known as "point loads" or "concentrated loads")
  • Moments
  • Distributed forces (also known as "distributed loads", "trapezoidal loads", "triangular loads", etc.)

All loads are defined by two types of input values: Location and magnitude.

Location can be adjusted via any of the following:

  • Drag the load along the beam using a touch screen or mouse.
  • Select an editable label in the beam editor and enter a value using the screen numpad or an external keyboard.
  • Select and edit the value using the loads panel (desktop and tablet only).

Magnitude can be adjusted via any of the following:

  • Select an editable label in the beam editor and modify the value using the numpad or an external keyboard.

Tip: Toggle the sign using the ± button in the numpad or the minus "-" key on a keyboard. For force loads only: You can change the sign by flipping the force vertically across the beam using touch our mouse.

  • Select and edit the value using the loads panel (desktop and tablet only).

Adding loads

To add a load:

  1. Go to the main design screen.
  2. If necessary, unselect everything by tapping on an empty area to show the load icons.
  3. Drag a load from the load toolbar.

  1. Drag and place the load on the beam.

Removing loads

Loads and supports can be easily removed from the beam by dragging them off of it. If you have an attached keyboard, you can also use the delete or backspace button.

Force loads

Forces (point loads) are drawn using a vertical arrow.

Forces are defined by two input values:

  1. Location along the beam (with units of length, such as meters, inches, etc.)
  2. Force magnitude (with units of force, such as Newtons, kilograms, pound-force, etc.)

Note: Normally, kilograms are considered to be units of mass rather than units of force. The app, however, assumes that kilograms and pounds are units of force by multiplying internally by the gravitational constant. We use the conversion factor of 9.80665 N/kg to convert between force and mass.

Moment loads

Moments are drawn using a pair of circular arrows.

Moments, like forces, are defined by two input values:

  1. Location along the beam (with units of length)
  2. Moment magnitude (with units of force-distance, such as Newton-meter, lb-ft, etc)

Distributed force loads

Distributed forces (distributed loads) are drawn using an array of vertical arrows connected by a line at their base.

Distributed forces are slightly more complex than point loads because they are defined by four input values:

  1. Location 1 along the beam (with units of length)
  2. Location 2 along the beam (with units of length)
  3. Force density magnitude at location 1 (with units of linear force density, such as N/m, kg/m, etc)
  4. Force density magnitude at location 2 (with units of linear force density)

Since these four values are completely independent of each other, they can be used to model different scenarios such as triangular loads, trapezoidal loads, etc. If the magnitudes at each endpoint can even have opposite signs, and the magnitude value will simply be interpolated between the endpoints.

Although distributed loads are defined by their two endpoints, the app also allows you to specify the distance between the endpoints and computes the right-side endpoint for you.

When you drag a distributed load using the graphic editor, it matters where you press on the load:

  1. If you drag the left side of the load, you will only drag that left-most end-point of the load.
  2. If you drag the center of the load, you will drag both end-points of the load.
  3. If you drag the right side of the load, you will only drag that right-most end-point of the load.

Supports

When a support is placed on the beam, the app automatically enforces constraints on the internal system of equations that defines the problem being solved.

Four different types of supports can be used. The following table summarizes each type of support as well as the constraints that characterize each one.

TypeForce (F)Moment (M)Slope (Θ)Deflection (δ)
Fixed supportsFMΘ(x) = 0δ(x) = 0
Simple supportsFM → 0continuousδ(x) = 0
Fixed hingesFM → 0discontinuousδ(x) = 0
Floating Gerber hingesF → 0M → 0discontinuouscontinuous
SpringsF = k * δ(x)M → 0continuouscontinuous

Defining supports is simpler than defining loads because supports only require a single value to be specified (i.e., their location along the beam). Supports can be placed and dragged along the beam in the same way as loads.

Fixed supports

Use fixed supports to model cantilevers and statically-indeterminate cases.

For each fixed support, the app attempts to solve for its vertical force and moment reactions.

This type of support imposes the following constraints on the system:

  1. The slope Θ(x) at the support location must be continuous and equal to 0.
  2. The deflection δ(x) at the support location must be continuous and equal to 0.

Simple supports

A simple support is also referred to as a pin support or a middle support.

Since the app does not currently model horizontal loads (as of v5.13.0), you can use simple supports to model roller supports ("rollers"). This will not be the case in future versions when we add such modeling if you need to take horizontal loads into account.

For each simple support, the app attempts to solve for its vertical force reaction.

This type of support imposes the following constraints on the system:

  1. The slope Θ(x) at the support location must be continuous.
  2. The deflection δ(x) at the support location must be continuous and equal to 0.

In contrast to fixed supports, simple supports do not have a moment reaction and do not constrain the slope at their location to be equal to 0.

Fixed hinge supports

A fixed hinge support is also referred to as a hinged support.

For each fixed hinge, the app attempts to solve for its vertical force reaction.

This type of support imposes the following constraint on the system:

  1. The deflection δ(x) at the support location must be continuous and equal to 0.

Unlike a simple support, the slope Θ(x) for a hinge support is discontinuous, reflecting the physical separation of the beam segments on each side.

Gerber hinge supports

A Gerber hinge support is also referred to as a floating hinge support.

When a Gerber hinge support is used, the app does not solve for a force or moment reaction on the support.

This type of support only imposes a very relaxed constraint on the system:

  1. The deflection δ(x) at the support location must be continuous.

Unlike fixed hinges, a Gerber hinge support does not require the deflection δ(x) at its location to be 0, but it still has to be continuous.

Spring supports

Unlike other supports, which only have a single input value (for location), springs also require a spring constant value to be specified.

For each spring support, the app attempts to solve for its displacement and vertical force reaction. The vertical force is proportional to its vertical displacement by the spring constant.

This type of support imposes the following constraints on the system:

  1. The deflection δ(x) at the support location must be continuous.
  2. The reaction force must be equal to the spring constant multiplied by δ(x).

Beam properties

Beam length

Like other quantities in the main design editor, the beam length is specified directly in-place.

  1. Go to the main design view and scroll to the beam editor.
  2. Tap or click on the beam length label under the beam visualization.
  3. Enter the desired value and units using the on-screen numpad or keyboard.

If you enter a beam length shorter than the position of an existing load or support, that load or support will be drawn in red, and it will be displayed on the side of the screen. It will be ignored in any calculations until it is moved to a valid beam position.

Cross section

The moment of inertia and area are both functions of the beam's cross section geometry.

The cross section's moment of inertia is used to compute the deflection of the beam and solve for the beam reactions.

The total cross section's area is used to compute the beam weight for custom materials and shapes if self-weight is enabled.

There are three different ways to provide the moment of inertia and area values:

  • Specify the values directly
  • Specify a cross section from the built-in library to import its properties
  • Customize a cross section from the library to automatically calculate its properties

Set moment of inertia and area directly

Caution: When you enter a custom inertia or area value directly, it will clear out any geometry or custom cross section that was previously defined. Don't worry, you can always press undo if needed.

  1. Find the moment of inertia section in the main design view.
  2. Tap or click on the moment of inertia label.
  3. Enter the desired value and units using the on-screen numpad or keyboard.

Import a cross section from the library

When a cross section is selected from the library, the moment of inertia and area are automatically imported from built-in reference tables.

  1. Find the moment of inertia section in the main design view.
  2. Tap on the search icon next to the moment of inertia label.
  3. Select a cross section from the library.
  4. In the cross section details screen, additional details for the selected cross section will be displayed.
  5. Click on the Use this cross section button.
  6. Done! Back in the main design screen, the relevant properties for the cross section will be already applied.

Customize a cross section shape

When you customize a shape, its moment of inertia, area, and any other relevant properties are automatically calculated and applied to the beam analysis.

  1. Select cross section from the template list or from the built-in database.
  2. Customize the dimensions by tapping and editing the labels around the cross section.
  3. Rotate the section if needed by tapping on the button in the center of the cross section.

Material

The elastic modulus and density are properties of the material. The material's elastic modulus is used to compute the deflection of the beam and solve for the beam reactions.

The material's density is only used to compute the beam weight for custom materials and shapes if self-weight is enabled.

There are two different ways to specify the material properties of a beam:

  1. By entering specific elastic modulus and density values
  2. By selecting a material from the built-in library

Specify elastic modulus value directly

If you enter an elastic modulus value directly, it will override any material that was previously selected from the library.

  1. Find the elastic modulus section in the main design view.
  2. Tap or click on the elastic modulus label.
  3. Enter the desired value and units using the on-screen numpad or keyboard.

Import material from library

When a beam material is selected from the built-in library, the elastic modulus and the density for that material are automatically imported and applied to the design.

  1. Find the elastic modulus section in the main design view.
  2. Tap on the search icon next to the elastic modulus label.
  3. Select a material from the library.

The color of the beam will change to match the color coding of the material. The colors used for materials are for visualization purposes, and they are not meant to be realistically accurate.

Results

The app automatically recomputes all results any time changes are made.

Some load combinations are unsolvable cases because the app needs the internal system of equations needs to be fully determined with respect to constraints and degrees of freedom imposed by the supports. The app will display a message when it cannot proceed to find a solution.

These are some sample valid support configurations:

  • 2 simple supports (ie, simple supported beam)
  • 1 fixed support (ie, cantilever)
  • 1 fixed support, 1 hinge, 1 simple support
  • 1 fixed support, 1 floating Gerber hinge, and another fixed support

Different results are displayed in several ways by the app:

  • Labeled support icons To see the reaction values for a support on the beam, simply select its icon, and its calculated force and moment will be displayed in a label.
  • Diagrams Diagrams for shear, bending moment, slope, deflection, internal shear stress, and internal bending stress are generated. The software automatically determines and labels interesting diagram values by searching for minima, maxima, and in some cases, zero crossings.
  • Diagram ruler To obtain a value at a specific location along the beam, you can tap on the diagrams area and move the ruler to display the diagram values at that specific location.
  • Equations All of the step equations needed to generate the diagrams are displayed under the diagrams area.
  • The beam visualization The beam itself in the free body diagram visualization will bend to mirror the calculated deflection curve. The deflection of the beam is exaggerated for visualization purposes, so it is not drawn to scale with respect to the beam's dimensions.

Design file list screen

From the design file list screen you can either quickly start a new design file from a template or you can also access previously created files. Your work is saved automatically any time you make changes, and you can return to it from this screen next time you start the app.

Delete and copy files

Use the button with three dots in the top right corner of each design file to expand a menu that allows you to copy or delete design files.

Main design editor

The main design screen integrates many modules to interact with both inputs and outputs at the same time.

Material properties

Here you can load a material from the library by pressing the search button in the left, or you can enter elastic modulus or density directly. Tap on the square checkbox button to the right of the density value to apply beam self weight. When you enable beam self weight, the density value will highlight, and the beam visualization will display a short distributed load in the background.

Geometry properties and cross section

Load a material from the library by pressing the search button in the left, or you can enter moment of inertia and area values directly. Similar to density, the area value is grayed-out when beam self-weight is not being applied since this value is not used for any other purpose.

When using a shape from the library, you can edit its dimesions in-place from this module.

The maximum internal stress profiles for the geometry are displayed to the sides.

Beam, loads, and supports visual editor

The beam editor is essentially an interactive free body diagram. Use this module to apply and move loads and reactions around.

Diagrams

This module contains the diagrams for internal reactions, deflection, and maximum stresses. You can tap on any point to read exact values. If you have defined a cross section geometry, internal stresses can be computed, so a toggle button will be displayed to the left of the shear and bending moment diagrams to allow you to obtain internal stress values instead of shear force and bending moment.

The app produces up to 8 different diagrams (plots).

DiagramUnits
Shearforce
Momentmoment
Slopeangle*
Deflectionlength
Internal shear stresspressure
Internal bending stresspressure
Internal shear stress profilepressure
Internal bending stress profilepressure

*Assumes that a ≈ tan(a) for small values.

The shear and bending moment diagrams are generated whenever any loads are placed on the beam.

The slope and deflection diagrams are only generated when supports are placed on the beam and the system of equations is fully determined. If no supports are present in the beam OR if insufficient support conditions are specified, a warning message is displayed to remind the user to add at least one support to compute these diagrams.

If the geometry for the cross section is known, the internal shear stress and the internal bending stress diagrams can be displayed by pressing the toggle button next to the shear and moment diagrams. The shear and bending stress profiles for the cross section will be displayed on the sides of the cross section.

Equations

This module displays the equations for the internal reactions and deflection diagrams. These equations are step polynomials and they apply only to their respective spans on the beam. You can swipe the equations sideways to reveal the equations for other regions, or you can tap on the diagrams above to display the equations for a specific region.

All of the corresponding equations for the shear, moment, slope, and deflection diagrams are displayed beneath the diagrams section.

Since these equations are "step" equations, the app only shows equations for one region of the beam at a time. To see equations for a different region:

  • Swipe the equations horizontally to move to a different region of the beam, or
  • Tap on a region in the diagrams, and the equations beneath will automatically scroll to that region.

Equations can be displayed using two different frames of reference: (1) absolute position within the beam, or (2) relative position within the step functions's region. To toggle between these 2 frames of reference, use the toggle button right above the equations.

Cross section library

The cross section library allows you to browse and search for specific reference table shapes. You can browse the catalogue by swiping the horizontally or by tapping on the shape icons in the toolbar area.

You can search for specific shapes by using the input textbox. The search engine tries its best to find matching results, so entering "5050" is the same as entering "50 50" or "50x50". The library by default displays data for worldwide shapes, but if you want to restrict the database used, you can do so by configuring the app Settings.

When you select a shape from the catalogue, you review some reference table properties for it and you can select it to apply it to your beam design file. Note that most of these properties are only provided for informational purposes, and they are not necessarily used for the beam analysis.

Material library

The material library is not as extensive as the cross section library. Simply tap on a row to select the material and apply it to your design file.

Materials are color coded for visualization purposes. The elastic modulus and densities we provide are reasonable representative values for the material type. The user should always obtain more precise and accurate values from other sources depending on the use case.

Settings

Since the best units to use depend on context, you can specify different units for some measurement types. For example, for length you can configure general lengths separately from deflection lengths because these will usually differ by many orders of magnitude. Likewise, for pressure, you can configure the units of elastic modulus separately from internal stress.

Exporting files

Design files can be exported by pressing the Export button right next to the Settings button. The app will generate a permanent link that you can open in a browser or send via text or email. This HTML document is printer friendly, and you can use your browser's built-in function to print a PDF from it.

Solver Methods and Assumptions

Our software integrates many formulas and algorithms that work together to facilitate structural beam analysis. Like all engineering tools, it is important for the engineer to understand the capabilities and limitations of the tools being used.

In the following sections we list some relevant assumptions we make, but this is not meant to be a comprehensive list of the many implicit and explicit assumptions used throughout the app.

Reactions and deflection

Reaction forces and moments are obtained by solving the Euler–Bernoulli equations, assuming linear elastic bending. The equations are solved using local and global stiffness matrices.

We take some measures to mitigate numerical error related to the matrix numerical solver, and we make our best effort to indicate to the user when numerical error may be inteferring with the solver algorithm. However, our numerical error detection algorithms are heuristic and may not be able to catch all unstable systems of equations. For example, the system of equations may be unstable when a support is placed extremly close to another support or to the edge of the beam.

Diagrams are generated by superposition of the individual contributions of all loads and reactions once all reactions are known. In other words, each diagram is the sum of polynomial step functions. The polynomial equations used to generate each diagram match exactly with the equations displayed by the app.

Internal stresses

Internal stresses are computed after the stiffness method is used to solve for all reactions. In general, the internal stress results are approximations, and they assume that the beam is long, narrow, and that the amount deflection is relatively small.

Warning: The user is responsible for ensuring that this is the case and that this approximation is reasonable depending on use case.

Assumptions

  • Longitudinal axis on neutral surface of beam bends, but it does not change in terms of length.
  • All cross sections remain plane and perpendicular to longitudinal axis.
  • Deformation in cross section is insignificant.

Bending Stress

The bending stress distribution across the cross section is assumed to be linear, and it's based on the Flexure Formula. In essence, we assume that the bending stress at any vertical point y of the cross section is linearly proportional to the internal moment at that point of the beam, multiplied by y and divided by the moment of inertia.

stress(y) = -M / I * y

Assumptions

  • Bending only occurs symmetrically along the vertical axis.
  • The material is linearly elastic, so Hooke's law applies.
  • The material is homogeneious.
  • The cross section is constant along the length of the beam.

Shear Stress

The shear stress distribution along the cross section vertical axis of the beam is obtained from the Shear Formula.

shear_stress(x,y) 
    = shear_force(x)
      * distance_to_centroid_above(y)
      * area_above(y)
      / (moment_of_inertia * width(y))

Assumptions

  • Average shear stress is constant across width of section
  • Approximation is only valid for narrow width cross sections with respect to their height.
  • Cross section width does not change abruptly across its height
  • Cross section side walls are vertical. Therefore, the formula is not accurate for circular cross sections, plates, or wide flanges, etc.

Shape properties

Properties (moment of inertia, area, etc) for custom shapes are computed by generating closed 2-dimensional paths for the cross section and then applying generalized mathematical path algorithms to compute the values. In the case of rounded shapes, the path is approximated using dense sets of straight line segments, so the computed values are reasonable approximations but not as precise as analytical solutions.

Properties for custom shapes may not match table reference values exactly because the cross section editor does not currently consider rounded corners, or flanges and walls.

Built-in database values

Built-in database values are compiled and derived from many public online sources and are provided for reference only. The engineer end user should always verify values against relevant local and manufacturer standards and datasheets.

For section profiles, we do our best to provide reasonable values, and we perform validation by comparing reference values against our own calculations.

For material properties, we chose what we think are reasonable representative values for average cases. The user should be aware that material properties vary significantly based on many factors (especially for non-metals) and other sources should be consulted for more accuracy.

Software limitations

We continuously deliver new software functionality, but at present, these are some current limitations and missing features in the software. Most of these missing features are part of our roadmap, and we plan to address them in the future. As always, your feedback is vital and appreciated. Let us know if we missed something or what features are most essential for your work.

The following is not meant to be a comprehensive list of design limitations of the software and is provided for reference only.

  • Yield strength not taken into account.
  • Shear strength not taken into account.
  • Shear flow is not taken into account.
  • Internal stress output are not accurate for circular shapes, wide shapes, or wide flanges.
  • Applying horizontal loads is not supported.
  • Cannot set moment of inertia and section modulus for different spans independently.
  • Reinforced concrete is not modeled. Concrete is treated as a homogeneous material.
  • Variations in lumber properties are not modeled. Lumber is treated as a homogeneous material.

Contact

If you have any questions or comments about the software or this documentation, please email contact@ketchep.com