Contents ↓
MKE-F handbook

Documentation

This reference connects the main finite element ideas to MKE-F project functions. It works without internet access or Octave.

Learning route

2. Element matrices

Inspect local stiffness and consistent mass matrices, checking symmetry, rank and rigid-body motion.

4b. Mz end releases

Release end moments, inspect private rotations and check static and dynamic results.

5. Static analysis

Solve the reduced system, recover the full vector and reactions, and check global equilibrium.

6. Modal analysis

Solve the generalized eigenvalue problem, expand the modes, and check residuals, scale and orthogonality.

8. Element results

Recover local displacements, stresses and forces; understand their signs and how they differ from support reactions.

10. Input file format

Find precise rules for sections, units, elements, supports, loads, repeated blocks and diagnostics.

11. Mario Paz modal example

Assemble stiffness and consistent mass for a two-element frame, then reproduce the published frequencies and mass-normalized modes.

12. Local GNU Octave workflow

Run the core without Docker or a browser GUI, call the three pure solvers, and repeat the project’s smoke and verification tests.

15. Sparse matrix assembly

Compare a dense square with the MKE-F triplet pipeline, follow sparse() and pass the reduced system to the Octave solver.

MKE-F capabilities

Element types, analyses, loads and supports: comparison of truss 112 and frame 113 capabilities.

Laboratory approach

First inspect the diagram and make a hand prediction, then run the supplied function and explain its output. Each laboratory includes reference values and report requirements.

Quick start

Open a terminal at the repository root, add the examples directory to the Octave path and run all laboratories:

addpath(pwd);
setup;
addpath(fullfile(pwd, "reference", "examples"));
results = run_reference_examples();
Analysis through the GUI

To create or open a model, run an analysis and view the result immediately in the browser, execute from the repository root:

docker compose up --build

For the older standalone Compose command, use docker-compose up --build. Then open http://127.0.0.1:8080/preprocessor/, prepare the model and click Run analysis. GNU Octave runs inside the container, and the resulting JSON opens automatically in the postprocessor.

How to run

These commands target GNU Octave. To check everything without printing matrices, use run_reference_examples(false). Call an individual laboratory by name, for example example_07_result_recovery().

How to work through the laboratories

Open an exercise below: the diagram, input data and tasks precede the reference values. Follow the labels in the Octave output; additional inspection and plotting commands are provided where needed. PASS confirms the example’s built-in checks; your report should explain the calculation and physical meaning of the results. Predict parameter changes from formulas; editing the supplied functions is unnecessary.

  1. Stiffness and mass of an inclined element
  2. Assembling two members at a shared node
  3. Axial member extension: displacement and support reaction
  4. Nodal loads: force sums and time histories
  5. Frequencies and modes of a beam with an intermediate support
  6. Free vibration: Newmark accuracy
  7. From displacements to stresses and end forces

Notation

SymbolMeaningTypical SI units
uvector of nodal displacements and rotationsm, rad
Kstiffness matrixdepend on the DOF pair
Mconsistent mass matrixdepend on the DOF pair
A, E, ρ, Iarea, Young’s modulus, density, second moment of aream², Pa, kg/m³, m⁴
c, selement direction cosinesdimensionless

The solver does not convert units: the user must choose a consistent system.

Code alongside the text