NuSA documentation

NuSA is a small Python finite-element library for teaching, experimentation, and structural-analysis workflows.

The public workflow in NuSA 0.4 is intentionally explicit:

define a Model -> solve the analysis -> work with a StaticResult

If you are new to NuSA, start with Getting started. If you already know the basic API and want to understand the design and ownership of solved state, read How NuSA works.

Quick example

from nusa import Bar, BarModel, Node

n1 = Node((0.0, 0.0))
n2 = Node((1.0, 0.0))

model = BarModel("Simple bar")
model.add_nodes([n1, n2])
model.add_element(Bar((n1, n2), E=200e9, A=1e-4))
model.add_constraint(n1, ux=0.0)
model.add_force(n2, (1000.0,))

result = model.solve()

print(result.displacement(n2))
print(result.reaction(n1))

Getting started

Examples

Migration

API reference

Indices and tables