Skip to content

๐Ÿ“‰ Analysis โ€‹

An analysis in Alpaca4d is assembled the same way OpenSees assembles one: from a handful of objects, each answering one question. Analysis Settings collects them, and Run Analysis launches OpenSees.

Damping โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
Test โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ–บ Analysis Settings โ”€โ”€โ”
Integrator โ”€โ”€โ”€โ”€โ”€โ”€โ”ค                        โ”œโ”€โ”€โ–บ Run Analysis โ”€โ”€โ–บ AlpacaModel (with results)
Analysis Step โ”€โ”€โ”€โ”˜                        โ”‚
                        AlpacaModel โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Natural Vibration and Linear Buckling are the exceptions: they need no settings at all, because they are eigenvalue problems, with nothing to converge.

Components in this tab โ€‹

ComponentNicknameAnswers
Analysis SettingsAnalysis SettingsThe whole recipe โ€” handler, numberer, system, algorithm, type.
IntegratorIntegratorHow the step advances: LoadControl, Newmark, CentralDifference.
TestTestWhen an iteration has converged.
Analysis StepAnalysis StepHow many steps, and how long each one is.
DampingDampingRayleigh damping coefficients.
Run AnalysisRun AnalysisRuns it.
Natural VibrationNatural VibrationModes, periods and frequencies.
Linear BucklingLinear BucklingThe load factors the model buckles at, and its buckled shapes.

Analysis Settings โ€‹

Collects everything OpenSees needs in order to solve โ€” constraint handler, numberer, system of equations, convergence test, solution algorithm, integrator and stepping โ€” into the one object Run Analysis takes.

Every input has a default, so an unconnected component already describes a valid linear static analysis. For a dynamic one set AnalysisType to Transient, and give it a Newmark or CentralDifference Integrator, an Analysis Step with Dt, and a Damping.

Integrator โ€‹

How the analysis advances from one step to the next.

LoadControl scales the loads by a load factor and is the static integrator; Newmark and CentralDifference step forward in time and are the transient ones.

Test โ€‹

When an iteration inside a step has converged, and how many iterations to allow before the step is declared failed.

NormDispIncr measures how much the model still moves, NormUnbalance how far it is from equilibrium, and EnergyIncr the product of the two. The Relative units compare against the first iteration instead of an absolute tolerance, and FixedNumIter simply iterates a set number of times.

Analysis Step โ€‹

How many increments the analysis solves, and how long each one lasts.

NumIncr is also how many steps the recorder writes, so it sets how many steps the Results components can read back. A transient analysis needs Dt as well; DtMin, DtMax and Jd let OpenSees shrink the step when a step will not converge.

Damping โ€‹

Rayleigh damping for every element and node of the model, as a combination of the mass and stiffness matrices:

D = alphaM*M + betaKcurr*Kcurrent + betaKinit*Kinit + betaKcomm*KlastCommit

For a damping ratio at a known circular frequency omega, taken from a Natural Vibration analysis, stiffness-proportional damping is betaKcomm = 2*ratio/omega โ€” so 5% at omega gives 0.1/omega. Only a transient analysis uses damping.

Run Analysis โ€‹

Writes the assembled model out as an OpenSees script, solves it, and returns the model with its results attached.

Results are recorded to an MPCO file in the AlpacaResults folder beside the Grasshopper document, and read back by the Results components. An MPCO Recorder chooses what the file holds. When a run fails the AlpacaModel output comes out empty โ€” read the log output to find out why.

Natural Vibration โ€‹

Solves the eigenvalue problem of the model and returns its modes, eigenvalues, periods and frequencies.

It needs no Analysis Settings โ€” an eigenvalue problem has nothing to converge. Connect the assembled model, or an analysed one for the modes of the model it was analysed from โ€” Section Optimiser's last design, say โ€” then feed the solved model to Nodal Displacements to read a mode shape. The participating masses are in its Modal Report menu.

Linear Buckling โ€‹

Finds the load factors at which the model buckles under its loads, lowest first, and the shapes it buckles into. The first is the critical load factor ฮฑ_cr, which EN 1993-1-1 compares with 10 to decide whether a frame needs a second-order analysis.

Like Natural Vibration it needs no Analysis Settings. Connect the assembled model, or an analysed one, as for Natural Vibration, and feed the buckled model to Model View to see a mode. Split the beams with Divisions when a member can buckle on its own, between its ends.

What Alpaca4d can analyse โ€‹

AnalysisHow to set it up
Linear staticAnalysis Type Static, Integrator LoadControl, Algorithm Linear.
Non-linear static / pushoverAnalysis Type Static, Integrator LoadControl, Algorithm ModifiedNewton or KrylovNewton, and a Linear time series to ramp the load.
Eigenvalue / modalNatural Vibration โ€” no settings needed.
Linear bucklingLinear Buckling โ€” no settings needed.
Linear or non-linear transientAnalysis Type Transient, Integrator Newmark or CentralDifference, plus Damping and a Path time series.
Seismic time historyAs transient, with a UniformExcitation pattern.

A first static analysis โ€‹

The smallest set-up that works:

  1. Integrator โ†’ unit LoadControl, defaults are fine.
  2. Test โ†’ unit NormDispIncr, defaults are fine.
  3. Analysis Step โ†’ NumIncr = 1 for a linear run.
  4. Analysis Settings โ†’ plug in the Test, the Integrator and the Analysis Step; leave Analysis Type at Static.
  5. Run Analysis โ†’ the model and the settings.

Then read the Results.