Armatura
Armatura is a structural frame analysis framework for .NET. It provides a complete pipeline from model definition through FEM analysis to design code assessment, available both as a C# API and as a desktop editor with a 3D viewport.
What Armatura does
- Model building — define nodes, members, supports, materials, sections, and loads programmatically or through the visual editor
- Load management — dead, live, wind, snow, seismic, and ice load cases with Eurocode-compatible load combinations
- FEM analysis — linear elastic frame analysis using a 3D beam element formulation verified against CALFEM 3.6
- Results — nodal displacements, reactions, member internal forces at configurable stations, envelope queries across all load cases and combinations
- Design checks — member utilization ratios against structural design codes (Eurocode 3, with AISC 360 and AS4100 planned)
Two ways to use it
As a library
var model = new StructuralModel("My Bridge");
var n1 = model.AddNode(0, 0, 0);
var n2 = model.AddNode(10, 0, 0);
model.SetSupport(n1, DoF.Fixed);
model.SetSupport(n2, DoF.Pinned);
var beam = model.AddMember(n1, n2, SteelLibrary.S355,
new IBeamSection("IPE 300"), MemberType.Beam);
var dead = new DeadLoadCase("Dead");
model.AddLoadCase(dead);
model.AddDistributedLoad(new UniformDistributedLoad(dead, beam,
new Point3D(0, -5000, 0)));
var results = model.RunAnalysis();
var maxDeflection = results.GetDisplacementEnvelope(n2.Id).Dy.Min;
As a desktop editor
The Armatura Editor is an Avalonia-based desktop application with a real-time OpenGL viewport, collapsible panels, and data tables for inspecting model input and analysis results.
Architecture
SamLabs.Armatura.Core — structural model, loads, results, design codes
SamLabs.Armatura.Engine — ECS rendering engine, tools, commands
SamLabs.Armatura.Editor — Avalonia desktop application
SamLabs.FemFrame — FEM solver (beam elements, stiffness method)
The Core library has no dependency on the Engine or Editor — it can be used standalone in console applications, web services, or automated pipelines.