Skip to content

Latest commit

ย 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Vetin Logo

Vetin | Beam Analysis

A browser-based computational tool for the determination of internal forces and elastic deformation in beam structures.

License: MIT PWA Ready Languages Live Demo

Developed by Assoc. Prof. Rasim Temรผr ยท Istanbul University-CerrahpaลŸa, Department of Civil Engineering
Part of the Vetin initiative for the digitisation of academic instruction tools.


๐ŸŒ Online Access

https://www.rasimtemur.com/vetin/beam/

The application is accessible directly through a web browser without requiring any software installation, user registration, or server-side processing. All computations are performed client-side.


๐Ÿ“ธ Screenshots

Structural Model & Toolbar
Main Interface


Internal Force Diagrams
Diagrams Panel


๐Ÿ“‹ Description

Vetin Beam Analysis is an open-source, web-based software developed for educational use in structural mechanics and civil engineering curricula. The application enables the interactive graphical definition of beam structural models, and produces instantaneous visual representations of internal force distributions and elastic deformation curves โ€” entirely within the web browser environment.

The software is intended to support both undergraduate instruction and self-directed learning by providing immediate visual feedback on the structural response of beam systems under various loading and boundary conditions.

Key properties of the application:

  • Operates entirely within the client browser; no server-side computation is required
  • Functions offline as a Progressive Web App (PWA), compatible with major desktop and mobile platforms
  • User interface is localised in more than 10 languages
  • Source code is freely distributed under the MIT License

โš™๏ธ Functional Capabilities

Structural Model Definition

The user defines the structural model interactively on a calibrated grid canvas. All elements are positioned with snap-to-grid precision and may be repositioned or modified at any stage of model construction.

Boundary Conditions

The following support conditions are available for model definition:

Symbol Boundary Condition Mechanical Behaviour
โ–ณ Pinned Support Restrains vertical and horizontal translation; permits rotation
โ—‹โ–ณ Roller Support Restrains vertical translation; permits horizontal translation and rotation
โ– Fixed Support (Cantilever) Restrains all translational and rotational degrees of freedom
โ—‰ Internal Hinge Introduces a moment release at the specified location

Applied Loading

The following load types may be applied to the structural model:

Load Type Description
Concentrated (Point) Load A discrete force applied at a specified position and inclination angle
Bending Moment A concentrated moment applied at a specified cross-section
Uniformly Distributed Load A load of constant intensity applied over a defined span
Trapezoidal (Linearly Varying) Load A load with linearly varying intensity between two specified magnitudes
Torsional Moment A concentrated torsional moment applied at a specified cross-section

Computed Output

Upon definition of the structural model, the following diagrams are generated automatically:

  • FBD โ€” Free Body Diagram, including computed support reactions
  • AFD โ€” Axial Force Diagram
  • SFD โ€” Shear Force Diagram
  • BMD โ€” Bending Moment Diagram
  • TMD โ€” Torsional Moment Diagram
  • ECD โ€” Elastic Curve Diagram (two-dimensional deflection profile)
  • 3D Elastic Curve โ€” Three-dimensional interactive visualisation of the deformed beam geometry, rendered via WebGL

Material and Cross-Section Properties

The elastic curve computation requires the specification of:

  • Modulus of Elasticity (E) โ€” expressed in GPa
  • Second Moment of Area (I) โ€” expressed in cmโด

Data Management

  • Save / Open โ€” The structural model may be exported to and imported from a .json file, enabling session continuity
  • Vector Graphics Export โ€” The structural model and the corresponding free body diagram (FBD) can be exported directly in scalable vector graphics (SVG) format for high-resolution publishing
  • Diagram Export โ€” Computed internal force and deformation diagrams may be downloaded as PNG image files
  • Data Export โ€” Tabulated numerical output may be downloaded for external reference

Interface Options

  • Light / Dark mode โ€” selectable display theme
  • Fullscreen mode โ€” for unobstructed model construction
  • Configurable grid โ€” horizontal scale (m), vertical scale (kN), and grid resolution (px)
  • Contextual guidance โ€” a dynamic hint panel provides task-specific usage instructions for each selected tool

๐ŸŒ Multilingual Support

The user interface is fully localised in more than 10 languages. The active language is selectable at runtime and persisted across sessions via localStorage:

Code Language Code Language
tr ๐Ÿ‡น๐Ÿ‡ท Turkish en ๐Ÿ‡ฌ๐Ÿ‡ง English
de ๐Ÿ‡ฉ๐Ÿ‡ช German cn ๐Ÿ‡จ๐Ÿ‡ณ Chinese
es ๐Ÿ‡ช๐Ÿ‡ธ Spanish fr ๐Ÿ‡ซ๐Ÿ‡ท French
it ๐Ÿ‡ฎ๐Ÿ‡น Italian pt ๐Ÿ‡ง๐Ÿ‡ท Portuguese
ar ๐Ÿ‡ธ๐Ÿ‡ฆ Arabic ja ๐Ÿ‡ฏ๐Ÿ‡ต Japanese
ko ๐Ÿ‡ฐ๐Ÿ‡ท Korean ru ๐Ÿ‡ท๐Ÿ‡บ Russian

๐Ÿ› ๏ธ Technical Implementation

The application is implemented using standard web technologies without dependency on a JavaScript framework:

Technology Role
HTML5 / CSS3 / JavaScript (ES6+) Core application architecture
Chart.js Rendering of 2D internal force diagrams
D3.js SVG-based structural diagram drawing
Three.js WebGL-based 3D elastic curve visualisation
Service Worker API Offline caching and PWA functionality
Web App Manifest Home screen installation support

๐Ÿ“ Project Structure

beam/
โ”œโ”€โ”€ index.html              # Application entry point and HTML shell
โ”œโ”€โ”€ manifest.json           # PWA manifest descriptor
โ”œโ”€โ”€ sw.js                   # Service Worker (offline caching)
โ”‚
โ”œโ”€โ”€ app.js                  # Application state management
โ”œโ”€โ”€ main.js                 # Initialisation sequence
โ”œโ”€โ”€ setup.js                # Canvas and grid configuration
โ”œโ”€โ”€ calculations.js         # Internal force and reaction computations
โ”œโ”€โ”€ ui-handler.js           # User interface state and event dispatch
โ”‚
โ”œโ”€โ”€ draw-structure.js       # Beam and support element rendering
โ”œโ”€โ”€ draw-loads.js           # Load visualisation
โ”œโ”€โ”€ draw-utilities.js       # Shared drawing utilities
โ”œโ”€โ”€ elastic-3d.js           # Three.js-based 3D elastic curve renderer
โ”‚
โ”œโ”€โ”€ desktop-events.js       # Mouse and keyboard event handling
โ”œโ”€โ”€ mobile-events.js        # Touch event handling
โ”œโ”€โ”€ download.js             # PNG and JSON export logic
โ”‚
โ”œโ”€โ”€ translations.js         # Localisation string repository
โ”œโ”€โ”€ localization.js         # Language switching and i18n engine
โ”‚
โ”œโ”€โ”€ common.css              # Base styles and design tokens
โ”œโ”€โ”€ desktop-layout.css      # Desktop viewport layout
โ”œโ”€โ”€ mobile-layout.css       # Mobile viewport layout
โ”œโ”€โ”€ controls-3d.css         # 3D viewer control panel styling
โ”‚
โ”œโ”€โ”€ logo.svg                # Application logotype
โ”œโ”€โ”€ icon-192.png            # PWA icon (192 ร— 192 px)
โ””โ”€โ”€ icon-512.png            # PWA icon (512 ร— 512 px)

๐Ÿš€ Deployment and Local Execution

Online Access (Recommended)

The application is hosted and publicly accessible at:
https://www.rasimtemur.com/vetin/beam/

Local Execution

As the application comprises static files only, it may be served locally using any HTTP server:

# Clone the repository
git clone https://github.com/rasimtemur/vetin-beam.git
cd vetin-beam

# Python 3 โ€” built-in HTTP server
python -m http.server 8000

# Node.js โ€” via npx
npx serve .

Navigate to http://localhost:8000 in a web browser to launch the application.

Installation as a Progressive Web App

On browsers supporting the PWA specification (Chromium-based browsers, Firefox, Safari on iOS), the application may be installed to the device home screen or desktop via the browser's "Install" or "Add to Home Screen" functionality, enabling offline access.


๐Ÿ“– Usage

  1. Define the beam โ€” Activate the Beam tool and drag across the canvas to establish the beam axis and span.
  2. Assign boundary conditions โ€” Select a support type from the toolbar and click the desired location on the beam.
  3. Apply loading โ€” Select a load type and interact with the beam to define load position, magnitude, and direction as applicable.
  4. Examine results โ€” Internal force diagrams and reaction values are updated instantaneously following each model modification.
  5. Adjust deformation scale โ€” The Displacement Scale parameter may be increased to amplify the elastic curve for visual clarity.
  6. Export output โ€” The structural model and free body diagram (FBD) may be exported in vector format (SVG), while calculated diagrams can be saved as PNG images. The complete structural model can also be saved as a JSON file for session persistence.

Note: A contextual hint panel is displayed below the canvas at all times, providing guidance specific to the currently active tool.


๐Ÿ“ Computational Methodology

  • Support reactions are determined from the conditions of static equilibrium.
  • Internal force distributions (axial force N, shear force V, bending moment M, torsional moment T) are obtained through numerical integration of the applied loading along the beam axis.
  • Elastic deformation is computed by double integration of the bending moment diagram in accordance with the Eulerโ€“Bernoulli beam theory, utilising the specified values of E (modulus of elasticity) and I (second moment of area).
  • The three-dimensional elastic curve provides a simultaneous representation of flexural (vertical) and torsional (lateral) deformations.

๐Ÿ“œ License

This software is distributed under the MIT License.
Full license terms are available in the LICENSE file.


๐Ÿ‘ค Developer

Assoc. Prof. Rasim Temรผr
Department of Civil Engineering
Istanbul University-CerrahpaลŸa
๐ŸŒ rasimtemur.com


๐Ÿ”— Vetin Project

Vetin is a collection of open-source, browser-based computational tools developed for use in civil and structural engineering education. Additional tools within the Vetin ecosystem are accessible at rasimtemur.com/vetin.


Developed in support of engineering education.
GitHub ยท MIT License ยท Istanbul University-CerrahpaลŸa

About

A browser-based structural analysis tool for beam structures. Generates real-time Shear (SFD), Bending Moment (BMD), Axial (AFD) and 3D deflection diagrams. Designed for civil engineering education. Client-side PWA.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages