Deflection App

Deflection User Manual

Software version 5.13.0

Document revision September 2021

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


Deflection is a software platform to perform structural beam analysis on mobile devices, computers, and browsers. Deflection 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. 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. Additional feature highlights and comparisons across editions can be found on our website at

The software is available on every major platform (iOS, Android, macOS, and Windows) as an installable app, and it is also accessible on the web at The app and the web interface complement each other and 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 advanced design editing is done on the app itself. In order to deliver new functionality quickly and continuously, we may release software features in one platform first before the other.


DO NOT USE THIS SOFTWARE AS YOUR SOLE MEANS FOR ENGINEERING DESIGN. We do our best to produce high quality software with as few defects as possible, but no software is ever completely defect free. All results should always be reviewed and verified using other means by a qualified engineering professional.

We constantly deliver improvements and fixes for our software, and we highly recommend always using the latest version available. The user should be familiar with the update functionality for their device and ensure to install updates as soon as they are published.

The user should always verify values, results, and calculation methods against relevant local regulations and manufacturer standards and datasheets. Built-in database values are compiled and derived from public online sources and are provided for reference only.

Software limitations

We continuously deliver new functionality, but at present, our software has some limitations and missing features that we think are relevant. Most of these 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. Our contact information is found in this document as well as our website

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 results 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 currently treated as a homogeneous material.
  • Variations in lumber properties are not modeled. Lumber is currently treated as a homogeneous material.


If you have any questions or comments about the software or this documentation, please email

Company website
Deflection Web platform
Deflection Documentation
Mailing Address, LLC
P.O. Box 151568
Austin, TX 78715

Quick Start Example

Solve a simple cantilever in seconds!

  1. Drag loads from the toolbar to the beam.

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

  1. Drag a fixed support to the beam.

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

  1. Review and adjust moment of inertia, elastic modulus, and other beam properties, as needed.

Tip: To set beam length, use the length label beneath the beam.

  1. That's it! Review your results, iterate on your design, or export your work.

Icon direction

Figure. This is what a cantilever with a single point load looks like.

General tips

Load sign convention

For simplicity, instead of defining a specific sign convention for loads, we indicate direction graphically. Internally, the software does have a particular sign convention, but this is unnecessary complexity that we hide from the user.

The direction of loads is displayed in two ways:

  1. What you see is what you get. Each load drawing matches its own direction. For example, upward applied forces are drawn as upward-pointing arrows, and counter-clockwise applied moments are represented by counter-clockwise circular arrows.

Icon direction

Figure. Labels omit + and - signs to avoid confusion. Instead, the drawing is used to convey direction.

  1. In lieu of + and - signs, direction is also indicated by an icon next to magnitude values.

Label sign


Editable labels have a white background with a border. Select them with a tap or click to edit the value.

Labels with black backgrounds are used to display output results, and they are not editable.

Figure. An editable label.

Figure. A read-only label with output results.

On-screen number pad keyboard

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

Figure. The on-screen number pad keyboard.

Design file manager

From the design file manager you can create new designs from templates, re-open existing designs, and perform other file-related tasks. Your designs are saved automatically any time you make changes, and you can find them in this screen next time you start the app.

Figure. File manager on a phone.

Figure. File manager on a tablet or desktop computer.

Create new design from template

Create new design files by selecting a template card.

Open existing design file


Tap on a card to open that file in the design editor.

Figure. Select a card to edit.

Tablets and desktop
  1. Select a card from the left panel to preview the file.
  2. Press the edit button in the top right-corner to open the file in the design editor.

Figure. The edit button is on the top-right corner above the preview.

Copy and delete files

Use the button with three dots in the top-right corner of each card to expand a menu to copy or delete the file.

Design editor

The main editor contains modules to interact with the beam design and results at the same time. The app automatically saves your work, and recomputes all results any time changes are made.

Figure. Design editor on a phone.

Figure. Design editor on a tablet or desktop computer.


Load a material from the library or enter its property values directly. The beam's self-weight can be enabled and disabled by toggling the checkbox next to the density value.

Material properties include the elastic modulus and density. The elastic modulus is used to compute the deflection of the beam and solve for the beam reactions. When self-weight is enabled, density is used to compute the beam weight, unless a shape from the library is being used, in which case the density value from the database takes precedence.

Specify elastic modulus and density values directly

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

  1. Find the material properties section in the main design view.
  2. Select the text box for the elastic modulus or density.
  3. Enter the desired value and units.

Import material from library

When a 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 material properties section in the main design view.
  2. Press the search button next to the elastic modulus text box.
  3. Select a material from the library.
Tablets and Desktop
  1. Find the tool panel on the right side of the main design view.
  2. Click on the tab for materials.
  3. Select a material from the library.

The beam color changes based on the material. The color coding is meant for visualization only, and it is not realistically accurate.

Enable beam self-weight

Use the checkbox button next to the density value to enable self-weight on the beam. When self-weight is enabled, the beam visualization will display a short distributed load in the background. When self-weight is disabled, the density and area values are grayed-out to indicate that they are not being used.

By convention, the self-weight checkbox gets enabled automatically any time you edit the cross section's area or the material density values directly. We assume that if you are editing these values, your intent is for them to be used.

Figure. The checkbox to enable beam self-weight.

Figure. A cantilever with self-weight enabled.

Cross section

The moment of inertia and area depend on the beam's cross section geometry. The moment of inertia is used to compute the beam's reactions and deflection. Area is used for self-weight and for internal stresses.

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

  • Specify the values directly.
  • Select a cross section from the built-in library to import its data from reference tables.
  • Customize a cross section. The required quantities are automatically computed from the shape.

When a cross section is specified, the maximum internal stress profiles are displayed on the sides of the editor.

When self-weight is enabled, the total cross-sectional area is used to compute the weight, unless a shape from the library is being used, in which case the density from the reference table takes precedence. Like density, the area value is grayed-out when self-weight is not being applied.

Set moment of inertia and area directly

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

  1. Find the geometry properties in the main design view.
  2. Select the input label for moment of inertia or area.
  3. Enter the desired value and units.

Figure. Select the text boxes to edit.

Import a cross section from the library

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

  1. Tap on the search button next to the moment of inertia label.

  1. If needed, tap on the search button on top of the next screen to display the catalogue.

  1. Find the desired cross section by navigating the catalogue.

Figure. You can apply filtering and sorting by using the toolbar buttons.

  1. The cross section information sheet will display. You can review additional details about the cross section before proceeding.

  1. Click on the Use this cross section button.
  2. Done! The relevant properties for the shape are now applied to your design.
Tablets and Desktop
  1. Select the cross section tab in the right-side toolbar panel. You may also need to click on the search button below.

  1. Select the desired cross section to open its information sheet. (See screenshots and notes for Phones.)
  2. Click on the Use this cross section button.
  3. Done! The relevant properties for the shape are now applied to your design.

Customize a cross section shape

To customize a shape from the library, you can edit its dimensions in-place from the main design editor.

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

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

Figure. The interactive cross section editor allows you to customize dimensions and rotate the shape.

Beam length

Beam length is specified directly in-place underneath the beam diagram.

  1. Find the beam editor in the main design view.
  2. Select the beam length label under the beam visualization.
  3. Enter the desired value and units.

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

Figure. Set the length using the beam editor.

Interactive beam editor

The beam editor is essentially an interactive free body diagram. Use it to set loads and reactions using simple drag-and-drop functionality.

Some support combinations are not viable due to excess degrees of freedom with respect to constraints. In some extreme cases the app will also fail to find a stable solution due to extreme numerical error. The app will display a message when it cannot proceed to find a solution.

Below are some sample support configurations that are valid:

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

Tip: Of course, many more combinations are possible. Do not be afraid to play around! That is what this app is for!

The main role of the beam editor is to capture user input, but it also integrates real-time output from the calculation results. The beam itself in the free body diagram will bend to mirror the calculated deflection curve. The deflection is exaggerated for visualization purposes, so it is not drawn to scale with respect to the beam's dimensions. On the sides, maximum calculated deflection is displayed. Supports are labeled with their reaction results.

Figure. The interactive beam editor allows you to easily drag and drop loads and supports. Besides functioning as an input module, it also integrates outputs results for reactions and deflection.


Any number of loads can be added to the beam. Three types of loads are available: forces, moments, and distributed forces.

Figure. A force, a moment, and a distributed load walk into a bar...

Figure. All loads are defined by location and magnitude.

There are multiple ways to set a load location:

  • Drag the load along the beam.
  • Select and edit its label in the beam editor.
  • Select and edit the value using the loads panel (desktop and tablet only).

There are multiple ways to set a load magnitude value:

  • Select and edit the label in the beam editor.

Tip: Toggle the sign using the ± button in the number pad or the minus "-" key on a keyboard. Optionally for forces only: Change the sign by dragging the force vertically to flip it across the beam.

  • Select and edit the value using the load panel in the right-side toolbar (desktop and tablet only).

Adding loads

To add a load:

  1. If needed, clear out the current selection by tapping on an empty area to show the load toolbar.

  1. Drag a load from the toolbar.

  1. Place the load on the beam.

Removing loads

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

Force loads

Forces, also known as point loads or concentrated loads, are drawn using a vertical arrow that matches the direction of the load.

Figure. A force point load.

Forces are defined by two input values:

  1. Location along the beam
  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 that match the direction of the load.

Figure. A moment load.

Similar to forces, moments are defined by two input values:

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

Distributed force loads

Distributed forces, also known as distributed loads, trapezoidal loads, triangular loads, etc., are drawn using an array of vertical arrows connected by a line.

Figure. A distributed force load.

Unlike single point loads, these loads are defined by four input values:

  1. Location 1 along the beam
  2. Location 2 along the beam
  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, such as N/m, kg/m, etc)

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

Although distributed loads are defined by their two endpoint locations, you may also specify the distance between the endpoints, and the app will compute the right-side endpoint for you.

When you drag a distributed load, it matters how you do it: If you drag one side of the load, only that side will move, but if you drag the center of the load, the entire load will move.


When a support is placed on the beam, the app applies mathematical constraints on the system of equations that our internal solver uses.

The following table summarizes all supports available in the app as well as the mathematical 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

Specifying supports is simpler than loads because supports, except for springs, typically only require a location. Supports can be dragged and dropped on the beam just like loads.

Fixed supports

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

Figure. A fixed support.

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

A fixed support imposes the following mathematical constraints:

  1. Slope Θ(x) at its location must be continuous and equal to 0.
  2. Deflection δ(x) at its 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.

Note: 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 substitution may not be valid in future versions when horizontal load modeling is enabled.

Figure. A simple support.

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

A simple support imposes the following mathematical constraints:

  1. Slope Θ(x) at its location must be continuous.
  2. Deflection δ(x) at its 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 slope to be equal to 0.

Fixed hinge supports

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

Figure. A fixed hinge support.

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

A fixed hinge imposes the following mathematical constraint:

  1. Deflection δ(x) at its location must be continuous and equal to 0.

Unlike simple supports, the slope Θ(x) at a hinge 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.

Figure. A floating hinge support.

When a Gerber hinge is used, the app does not assign it a force or moment reaction at all.

A gerber hinge only imposes a very relaxed constraint on the system:

  1. Deflection δ(x) at its location must be continuous.

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

Spring supports

Unlike other supports, which are solely defined by location, springs also require a spring constant value to be specified.

Figure. A spring support.

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

A spring imposes the following mathematical constraints:

  1. Deflection δ(x) at its location must be continuous.
  2. The reaction force equals the spring constant multiplied by δ(x).

Reaction results

To get the reaction values for a support on the beam, select it in the beam editor, and its calculated reactions will be displayed in a label above it.

On tablets and desktop computers, you can also see reaction results in the loads panel on the right-side toolbar.


The editor produces diagrams for several quantities, including shear, bending, deflection, and maximum internal stresses. You can tap on any point in the diagrams to read exact values. The software automatically determines and labels interesting values such as minima, maxima, and zero crossings.

Some diagrams are only available when certain conditions are met. In such cases, the diagram will be automatically displayed if it is available, or a toggle button will appear to switch between diagrams.

SlopeΘangle*loads + supportsbeam
Deflectionδlengthloads + supportsbeam
Max internal shear stressτ maxpressureloads + supports + cross sectionbeam
Max internal bending stressσ maxpressureloads + supports + cross sectionbeam
Max internal shear stressτ maxpressureloads + supports + cross sectioncross section
Max internal bending stressσ maxpressureloads + supports + cross sectioncross section
Internal shear stressτpressureloads + supports + cross sectionbeam & cross section
Internal bending stressσpressureloads + supports + cross sectionbeam & cross section

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

Shear and bending moment along beam

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

Figure. Shear is labeled as "V", and bending moment is labeled as "M".

Slope and deflection along 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 there are no supports or if support constraints are not sufficient, a warning message is displayed to hint at the problem.

Figure. Slope is labeled as "Θ", and deflection is labeled as "δ".

Maximum shear stress along beam

If the geometry for the cross section is known, internal shear stress can be displayed by using the toggle button next to the shear force diagram. This diagram mirrors the shear force diagram but with units of stress.

Unlike other diagrams which are scaled to take up all vertical space, the scale for this diagram matches that of the bending stress diagram so that they can be compared side-by-side.

Maximum bending stress along beam

If the geometry for the cross section is known, internal bending stress can be displayed by using the toggle button next to the bending moment diagram. This diagram mirrors the bending moment diagram but with units of stress.

The bending stress diagram, unlike other diagrams, displays two different plot lines at the same time. The value above the axis corresponds to the maximum bending stress on the top edge of the shape. Likewise, the plot line below the axis corresponds to the maximum value on the bottom edge of the shape. At each of these locations, the maximum stress can be positive (tension, by our convention) or negative (compression). Compression is indicated with vertical lines in the shaded area. Likewise, shaded graph areas without the vertical lines correspond to tension.

Tip: Click on the graph, and the value tooltips will indicate which areas are in tension and which are in compression.

Maximum shear stress profile along cross section

The maximum shear stress profile for the cross section is displayed to the left of the cross section editor.

This diagram answers the question: For the beam slice in which shear force is maximum, whether positive or negative, what would shear stress look like? Shear force is always either positive or negative, so this plot is always drawn on one side of the axis or the other.

In the case in which the same maximum shear value occurs as both positive and negative at two different locations, we only display one of them, arbitrarily. Although we display a sign for shear stress, the user is typically only concerned with magnitude, not direction, so for now we only display one of them.

Maximum bending stress profile along cross section

The maximum bending stress profile for the cross section is displayed to the right of the cross section editor.

This diagram answers the question: For the location or locations in which bending is maximum, what would bending stress look like? A bending stress profile always has positive and negative components, so you will always see this plot on both sides of the axis.

Unlike shear stress, in which sign is not usually important, sign is important for bending because it indicates whether tension or compression is occurring. This chart plots the profiles for both maximum tension and compression. This yields a "butterfly" shaped chart that is guaranteed to envelop all bending stress profiles across the beam. At a single glance one can tell what is the maximum tension and compression at any point.

In this chart, tension and compression are indicated by the sign across the axis as well as arrows. Arrows are drawn for compression only. Compression, which corresponds to negative values, is the area on the right side of the axis, and its arrows point toward the axis. It follows, then, that tension is the left side of the axis.

Internal stress for any point along cross section and beam length

Unlike other stress plots, which only plot maximum values, these diagrams allow you to read any stress value vertically along the cross section and horizontally along the beam.

The stress profiles are drawn as rotated vertical diagrams whose axis matches the vertical axis of the cross section. You can find these plots right next to or beneath the horizontal beam plots depending on your screen size. The vertical diagrams are placed next to the horizontal diagrams because they are connected with each other.

The slice of the beam being analyzed is determined by the position of the ruler in the horizontal diagrams. Tap anywhere in the horizontal diagrams to move the ruler, and hence the analysis, to a different x location. You can then tap anywhere in the vertical diagrams to read out specific values in that y location.

The dashed lines in these charts indicate the maximum values you would get if you were to sample the entire beam. These lines are the same as the maximum stress profile plots in the cross section editor. They are duplicated in these charts for convenience and reference.

The scale for both stress plots is synchronized and based on the maximum stress values. This means that these charts can be compared visually against each other to determine the dominant type of stress. This also means that as you slide the ruler across the beam, the scale will be preserved, allowing for visual comparison across slices.

Unlike the maximum stress chart, this chart uses arrows for both tension and compression. Arrows pointing toward the axis represent compression, whereas arrows pointing away from it represent tension.

Figure. Obtain stress values for any location along the beam and cross section by placing the ruler along the beam's x axis and then selecting a point along the y axis in the vertical diagrams. In this example, we are examining a slice at 58 inches from the left edge. At this location, according to the charts in the right, the maximum shear stress of -0.992 MPa in the middle of the beam is minuscule compared to the maximum bending stress magnitudes of 15.9 MPa in the top and bottom edges of the beam. The top of the cross section is in compression (-15.9 MPa), whereas the bottom is in tension (15.9 MPa). The arrows pointing towards the axis represent compression, and the arrows pointing away from the axis represent tension. The dashed lines represent the upper bound envelopes for tension and compression for all possible slices of the beam.


This module displays the equations for the shear, bending moment, slope, and deflection diagrams. These equations are step function polynomials, so they only apply to their respective spans on the beam. You can scroll the equations sideways to see the equations for other regions. You can also tap on the diagrams above to display the equations for a specific region.

Equations can be displayed using two different frames of reference: absolute position within the beam and relative position within the step function's region. Use the toggle button above the equations to switch between both frames of reference.

Cross section library

The cross section library allows you to browse, filter, and sort standard cross sections from reference tables. You can browse the catalogue by swiping the horizontally or by tapping on the shape icons in the toolbar area.

Search for specific shapes by using the input text box. The search engine tries its best to find matching results, so entering "5050" is the same as entering "50 50" or "50x50".

Filter results by country by using the buttons labeled "US", "EU", etc. Your country may use the standards of a different country, so even if your country is not listed, the shapes from another country may be relevant. The following databases are available:

USUnited States
EUEuropean Union
GBGreat Britain

When you select a shape from the catalogue, you are then presented with an information sheet containing reference data for the cross section. You can then apply it to your beam design by using the confirmation button. Note that most of this data is only provided for informational purposes, and it is not necessarily used for the beam analysis.

Data source

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

For section profiles we perform some level of validation by comparing reference values against our own calculations.

Material library

The material library is not as extensive as the cross section library, but it still contains relevant generic structural materials. Select a row to choose the material and apply it to your design.

Materials are color-coded for visualization purposes.

The elastic modulus and density values 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.

Data source

For material properties, we choose what we think are reasonable representative values for generic 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.


Significant figures

Configure the number of significant figures used to display values. This does not affect inputs or internal calculations.


Configure whether large values should be displayed using scientific or engineering notation.

Moment diagram sign

Different engineers have different needs, so you can configure the direction of moment diagrams to match your convention and industry. Essentially, this option allows you to draw the moment diagram with tension above or below the axis. When tension is drawn above the axis, the convention is know as drawing the moment diagram "on the tension side".


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 values have very different scales. 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. The HTML document is printer-friendly, and you can use your browser's built-in print function to generate a PDF from it.

Solver Methods and Assumptions

Our software integrates many formulas and algorithms that work together to facilitate structural beam analysis. It is important for the user to understand the capabilities and limitations of the software, like any other engineering design tool.

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 software.

Solver data flow

The diagram below shows a high level picture of how the software uses user-provided inputs to produce the output results.

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 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 interfering 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 extremely 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.

Internal stress 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 is 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
Bending stress 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_force(x)
      * distance_to_centroid_above(y)
      * area_above(y)
      / (moment_of_inertia * width(y))

Shear stress 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 vector path algorithms to compute the values. Even for 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 reference table values exactly because the cross section editor does not currently consider rounded corners, tapered flanges, or other conditions that may be taken into account in standard reference tables.