Contents ↓
Chapter 6a

NAFEMS Challenge Problem 5

This guide reproduces the frame formulation of “Dynamic Characteristics of a Truss Structure” using the existing MKE-F element 113. The study checks natural frequencies, physical end hinges and mesh convergence. It reads saved input files: neither generating geometry nor obtaining the original article is necessary to run the supplied cases.

1. Model

NAFEMS 52 (0,1)1 (0,0)3 (1,1)L = 1 mL = √2 mux = uy = 0

Members connect nodes 2–3 and 1–3; there is no vertical member between the supports. Nodes 1 and 2 restrain ux and uy. Joint 3 is free. Four physical member ends release Mz: both supported ends and each member end at the shared joint. Interior rotations remain continuous, and no MPC equations are needed. The value n always denotes elements per member, not the total element count.

Use metres, kilograms, seconds, newtons and pascals. Material properties are E = 210·10⁹ Pa and ρ = 7800 kg/m³. The solid circular section has radius 0.01 m, area A = πr² and second moment I = πr⁴/4. Total mass is 5.91589096156 kg. Shear deformation, damping, prestress and added masses are absent. Material and section properties remain unchanged throughout refinement.

2. Saved inputs

Casen / TXT
axial1, 2, 4, 8, 16
bending2, 4, 8, 16
frame1, 2, 4, 8, 16, 25, 50, 100, 200, 400
frame_static2

The manifest.csv catalogue lists every file and execution profile. The axial cases isolate longitudinal motion of a straight frame member by restraining transverse displacement and rotation. The bending cases test a simply supported beam. The frame cases represent NAFEMS geometry. The frame_static case checks released moments under a downward force of 1 N at joint 3.

All twenty files are versioned standard TXT inputs with consistent precision and numbering. The runner never overwrites them. The deterministic generator is a maintenance utility; regenerate into a separate directory when checking reproducibility. The 400-element mesh is supplied in advance but used only if the 200-element comparison has not converged.

3. Run with Octave

Start GNU Octave in the repository root. See the local workflow for installation and path setup. Run the quick profile first, then the full study. SVG generation requires an available Octave graphics toolkit, such as gnuplot. Batch execution creates invisible figures and does not require interactive plot windows.

setup;
run_nafems_challenge5('quick');
run_nafems_challenge5('full');

The quick profile covers analytical controls, frame meshes up to 16 and the static check. Full adds 25, 50, 100 and 200 elements per member, extending to 400 when necessary. The existing solver computes the complete spectrum; larger cases require more time and memory. Quick success does not certify convergence throughout the frequency band.

Outputs are separated into output/nafems-challenge-5/quick/ and output/nafems-challenge-5/full/. They contain frequencies.csv, checks.csv, mesh comparisons, SVG plots, sampled shapes, standard JSON and run.log. The log records Octave version, Git revision, working tree changes and final status. A failed run ends with INCOMPLETE and retains inspectable results. Old artifacts can remain after a failed rerun: trust only the completed cases listed in the current log. Successful execution ends with PASS.

4. Inspect in the interface

Open the preprocessor and load frame_n016.txt from the table. Check two supports and four released-end markers, select modal analysis, then run. This requires a running backend; setup is described in project operations. Open the resulting dataset and switch between several modes.

After an Octave run, open the postprocessor and select frame_n016.json from the corresponding output directory. No new calculation is necessary. Inspect the fundamental shape and modes surrounding 451 and 1027 Hz. Display amplitude is arbitrary, and eigenvector sign has no physical significance. The study plots reconstruct bending with cubic interpolation and the independent released-end rotations.

5. NAFEMS versus our results

Rerun on 6 October 2026 with Octave 11.3.0. Current-code results belong to MKE-F 0.8.2, being prepared for release; the solver core is 46971d2. Published release 0.8.1 (core e9356d3), which lacks end-release support, is retained for comparison.

QuantityNAFEMSRelease 0.8.1MKE-F 0.8.2
Axial bar, 1 m: f₁, n=16≈1297 Hz1297.70731 Hz1297.70731 Hz
Axial bar, 1 m: f₂, n=16≈3892 Hz3905.63923 Hz3905.63923 Hz
Beam model: modes below 1600 Hz22—16
Beam frequency below 451 Hz366 Hz—363.17069 Hz
Beam frequency above 451 Hz496 Hz—504.01439 Hz
Beam frequency below 1027 Hz1021 Hz—995.95985 Hz
Beam frequency above 1027 Hz1183 Hz—1043.80130 Hz

The first two NAFEMS entries are rounded analytical frequencies from figure 2, whereas our values use mesh 16. Beam results use 200 elements per member. Figure 6 comparisons select frequencies on either side of a reference value; they do not establish identical mode shapes.

A dash means the saved frame case cannot run in release 0.8.1: frame_n016.txt:74, MKEF:UnknownInputMarker, Unknown section marker "releases". Current code 0.8.2 runs this case using general end-release support. Release preparation and publication are handled separately.

6. Acceptance and interpretation

At mesh 16, the first two axial errors must be below 0.05% and 0.4%; the first two bending errors below 0.1%. Frame checks cover mass, 6n independent coordinates, absence of mechanisms and normalized eigenpair residuals no larger than 10⁻⁸. Released static moments vanish within numerical tolerance. Modal checks use the complete elastic–inertial balance, rather than requiring the elastic end moment alone to vanish.

Between final meshes, changes must be below 0.1% for the first two frequencies and 1% for the remaining modes up to 1600 Hz. Shapes are matched on a common physical grid and mode counts must stabilize. Additional low bending modes explain why a truss model cannot describe the complete dynamic response.

The largest frequency change below 1600 Hz from mesh 100 to 200 is approximately 0.00047%. The current formulation has converged; agreement with the published spectrum has not been achieved.

Source: NAFEMS, “Challenge Problem 5 — The Solution”, figures 1–7. Its 22 modes and labels 366, 496, 1021 and 1183 Hz are diagnostic references. Current element 113 mass omits a separate ρI contribution; figure 7 and lumped mass are outside scope. This formulation difference does not prove the cause of every discrepancy; comparison.txt records actual results. Do not fit section properties to published labels. If further reproduction requires software changes, stop the affected stage and report the problem before applying any correction.