Skip to content

Analysis cases and combinations

Two different things, with two different lists of types:

  • An analysis case is one way of analysing the model. Its type (analysis_type) is one of 'Linear', 'NonLinear', 'Mass', 'Modal', 'Spectrum', 'GeometricNonlinear', 'Sequence'.
  • A load combination adds up results. Its type (combo_type) is one of 'LinearSum', 'Envelope', 'AbsSum', 'SRSS', 'NonLinearCombo'.

'LinearSum' and 'Envelope' are combination types: they are never an analysis_type.

Analysis cases

Analysis case: add a linear case from load cases

create_load_case already makes a linear analysis case with the same name. To combine several load cases with factors:

model.create_analysis_case('ULS', 'Linear', {'G': 1.35, 'Q': 1.5})

Analysis case: add a non-linear case

Same coefficients, another type:

model.create_analysis_case('NL1', 'NonLinear', {'G': 1.0, 'W': 1.0})

Analysis case: add a mass case, then a modal case, then a spectrum case

They chain: the modal case uses a mass case, and the spectrum case uses a modal case and a response spectrum.

model.create_analysis_case('MASS', 'Mass', {'G': 1.0, 'Q': 0.5})   # masses from G + 0.5 Q
model.create_analysis_case('MODAL', 'Modal', num_modes=8, modal_case_id='MASS')
model.create_analysis_case('SEISMIC-Y', 'Spectrum', modal_case_id='MODAL',
                           spectrum_id='EC8-A', direction='Y')      # direction 'X', 'Y' or 'XY'

The spectrum spectrum_id names must exist already (add_spectral_function).

Analysis case: edit

Change an analysis case: rename it.

model.rename_analysis_case('ULS', 'ULS-1')

To change its factors, remove it and create it again with the new ones.

Analysis case: remove

Delete an analysis case:

model.remove_analysis_case('NL1')

Load combinations

Combination: add

model.create_load_combination('SLS-ALL', {'G': 1.0, 'Q': 1.0, 'W': 1.0})   # sum, the default type
model.create_load_combination('ENV1', {'G': 1.0, 'Q': 1.0, 'W': 1.0}, combo_type='Envelope')

The keys are case ids as text, or the case objects. "1.35 G + 1.5 Q" is {'G': 1.35, 'Q': 1.5}.

Combination: add one around a non-linear case

'NonLinearCombo' wraps a single non-linear analysis case; it does not add:

model.create_analysis_case('NL2', 'NonLinear', {'W': 1.0})
model.create_load_combination('NLC1', {'NL2': 1.0}, combo_type='NonLinearCombo')

Combination: edit

Change a combination: rename it.

model.rename_load_combination('SLS-ALL', 'SLS')

To change its factors, remove it and create it again.

Combination: remove

Delete a combination:

model.remove_load_combination('ENV1')

Common mistakes

Analysis case: common mistakes

  • create_analysis_case('X', 'LinearSum', ...) or 'Envelope' as an analysis type: those are combination types, use create_load_combination.
  • A load case or analysis case that does not exist yet: create it first.
  • A modal case without its mass case, or a spectrum case without its modal case.