Skip to content
OFFICIAL SS DOCUMENTATION

SS.StructuralMechanics 1.2.0

Dimension-safe nonlinear trusses plus owned linear 2D frame models, sparse assembly, load envelopes, static recovery, modal participation and instability diagnostics
API 1.2.0
MIT
source

Language compatibility: >=1.0.0 <2.0.0
Runtime compatibility: >=1.0.0 <2.0.0

Dependencies: SS.LinearAlgebra ^1.7.0

Public API

Public signature
export function combineFrameLoadCases(string identity, Frame2DModel model, FrameLoadCase[] cases, double[] factors)->FrameLoadCase

Parameters: identity: string, model: Frame2DModel, cases: FrameLoadCase[], factors: double[]


Public signature
export function frame2DModel(double[] x, double[] y, int[] startNode, int[] endNode, string[] kind, double[] elasticModulus, double[] area, double[] inertia, double[] density, double[] thermalExpansion, bool[] fixedDegrees, double[] prescribedDisplacement)->Frame2DModel

Parameters: x: double[], y: double[], startNode: int[], endNode: int[], kind: string[], elasticModulus: double[], area: double[], inertia: double[], density: double[], thermalExpansion: double[], fixedDegrees: bool[], prescribedDisplacement: double[]


Public signature
export record Frame2DModel(public double[] x, public double[] y, public int[] startNode, public int[] endNode, public string[] kind, public double[] elasticModulus, public double[] area, public double[] inertia, public double[] density, public double[] thermalExpansion, public bool[] fixedDegrees, public double[] prescribedDisplacement, public int degrees)

Parameters: x: double[], y: double[], startNode: int[], endNode: int[], kind: string[], elasticModulus: double[], area: double[], inertia: double[], density: double[], thermalExpansion: double[], fixedDegrees: bool[], prescribedDisplacement: double[], degrees: int


Public signature
export function frameBuckling(Frame2DModel model, FrameStaticResult reference, int requested, double tolerance, int maximumIterations)->FrameBucklingResult

Parameters: model: Frame2DModel, reference: FrameStaticResult, requested: int, tolerance: double, maximumIterations: int


Public signature
export record FrameBucklingResult(public double[] factors, public double[] modes, public int modeCount, public double residual, public bool converged, public string diagnostic)

Parameters: factors: double[], modes: double[], modeCount: int, residual: double, converged: bool, diagnostic: string


Public signature
export record FrameEnvelope2D(public double[] minimumDisplacement, public double[] maximumDisplacement, public int[] minimumDisplacementCase, public int[] maximumDisplacementCase, public double[] minimumEndForce, public double[] maximumEndForce, public int[] minimumEndForceCase, public int[] maximumEndForceCase, public string[] combinationIdentities, public string diagnostic)

Parameters: minimumDisplacement: double[], maximumDisplacement: double[], minimumDisplacementCase: int[], maximumDisplacementCase: int[], minimumEndForce: double[], maximumEndForce: double[], minimumEndForceCase: int[], maximumEndForceCase: int[], combinationIdentities: string[], diagnostic: string


Public signature
export function frameLoadCase(string identity, Frame2DModel model, double[] nodalLoads, double[] uniformTransverseLoads, double[] temperatureChange)->FrameLoadCase

Parameters: identity: string, model: Frame2DModel, nodalLoads: double[], uniformTransverseLoads: double[], temperatureChange: double[]


Public signature
export record FrameLoadCase(public string identity, public double[] nodalLoads, public double[] uniformTransverseLoads, public double[] temperatureChange)

Parameters: identity: string, nodalLoads: double[], uniformTransverseLoads: double[], temperatureChange: double[]


Public signature
export record FrameModalResult(public double[] frequencies, public double[] modes, public int modeCount, public double residual, public bool converged, public string diagnostic)

Parameters: frequencies: double[], modes: double[], modeCount: int, residual: double, converged: bool, diagnostic: string


Public signature
export function frameModes(Frame2DModel model, int requested, double tolerance, int maximumIterations)->FrameModalResult

Parameters: model: Frame2DModel, requested: int, tolerance: double, maximumIterations: int


Public signature
export record FrameStaticResult(public double[] displacement, public double[] reactions, public double[] elementEndForces, public double residual, public double strainEnergy, public double externalWork, public bool converged, public string diagnostic)

Parameters: displacement: double[], reactions: double[], elementEndForces: double[], residual: double, strainEnergy: double, externalWork: double, converged: bool, diagnostic: string


Public signature
export function instabilityDiagnostic2D(Frame2DModel model, double zeroTolerance, double conditionLimit, int maximumIterations)->InstabilityDiagnostic2DResult

Parameters: model: Frame2DModel, zeroTolerance: double, conditionLimit: double, maximumIterations: int


Public signature
export record InstabilityDiagnostic2DResult(public int zeroModes, public double smallestEigenvalue, public double largestEigenvalue, public double conditionEstimate, public bool mechanism, public bool illConditioned, public bool bucklingRisk, public string diagnostic)

Parameters: zeroModes: int, smallestEigenvalue: double, largestEigenvalue: double, conditionEstimate: double, mechanism: bool, illConditioned: bool, bucklingRisk: bool, diagnostic: string


Public signature
export function loadCombinationEnvelope2D(Frame2DModel model, FrameLoadCase[] baseCases, string[] combinationIdentities, double[] factors)->FrameEnvelope2D

Parameters: model: Frame2DModel, baseCases: FrameLoadCase[], combinationIdentities: string[], factors: double[]


Public signature
export function modalParticipation2D(Frame2DModel model, FrameModalResult modes, double[] influence)->ModalParticipation2DResult

Parameters: model: Frame2DModel, modes: FrameModalResult, influence: double[]


Public signature
export record ModalParticipation2DResult(public double[] factors, public double[] effectiveMasses, public double[] effectiveMassRatios, public double[] cumulativeMassRatios, public double totalInfluenceMass, public double residualMassRatio, public string diagnostic)

Parameters: factors: double[], effectiveMasses: double[], effectiveMassRatios: double[], cumulativeMassRatios: double[], totalInfluenceMass: double, residualMassRatio: double, diagnostic: string


Public signature
export function solveFrame2D(Frame2DModel model, FrameLoadCase loadCase)->FrameStaticResult

Parameters: model: Frame2DModel, loadCase: FrameLoadCase


Public signature
export function solveTruss2D(double[] x, double[] y, int[] startNode, int[] endNode, double[] elasticModulus, double[] area, double[] thermalExpansion, double[] temperatureChange, bool[] fixedX, bool[] fixedY, double[] prescribedX, double[] prescribedY, double[] loadX, double[] loadY, double absoluteTolerance, double relativeTolerance, int maximumIterations) -> (double[], double[], double[], double[], double, int, bool, string)

Parameters: x: double[], y: double[], startNode: int[], endNode: int[], elasticModulus: double[], area: double[], thermalExpansion: double[], temperatureChange: double[], fixedX: bool[], fixedY: bool[], prescribedX: double[], prescribedY: double[], loadX: double[], loadY: double[], absoluteTolerance: double, relativeTolerance: double, maximumIterations: int


Public signature
export function solveTruss2DUnits(m[] x, m[] y, int[] startNode, int[] endNode, Pa[] elasticModulus, squareMetre[] area, double[] thermalExpansion, deltaK[] temperatureChange, bool[] fixedX, bool[] fixedY, m[] prescribedX, m[] prescribedY, N[] loadX, N[] loadY, N absoluteTolerance, double relativeTolerance, int maximumIterations) -> (m[], N[], N[], Pa[], N, int, bool, string)

Parameters: x: m[], y: m[], startNode: int[], endNode: int[], elasticModulus: Pa[], area: squareMetre[], thermalExpansion: double[], temperatureChange: deltaK[], fixedX: bool[], fixedY: bool[], prescribedX: m[], prescribedY: m[], loadX: N[], loadY: N[], absoluteTolerance: N, relativeTolerance: double, maximumIterations: int


Public signature
export function sparseFrameAssembly2D(Frame2DModel model, FrameLoadCase loadCase, double zeroTolerance)->SparseFrameAssembly2DResult

Parameters: model: Frame2DModel, loadCase: FrameLoadCase, zeroTolerance: double


Public signature
export record SparseFrameAssembly2DResult(public double[] values, public int[] columnIndices, public int[] rowOffsets, public double[] loads, public FrameStaticResult solution, public int nonzeros, public string diagnostic)

Parameters: values: double[], columnIndices: int[], rowOffsets: int[], loads: double[], solution: FrameStaticResult, nonzeros: int, diagnostic: string


Public signature
export function verticalElasticSensitivity(double[] x, double[] y, int[] startNode, int[] endNode, double[] elasticModulus, double[] area, double[] thermalExpansion, double[] temperatureChange, bool[] fixedX, bool[] fixedY, double[] prescribedX, double[] prescribedY, double[] loadX, double[] loadY, int responseNode, int element, double step) -> double

Parameters: x: double[], y: double[], startNode: int[], endNode: int[], elasticModulus: double[], area: double[], thermalExpansion: double[], temperatureChange: double[], fixedX: bool[], fixedY: bool[], prescribedX: double[], prescribedY: double[], loadX: double[], loadY: double[], responseNode: int, element: int, step: double


Public signature
export function verticalLoadSensitivity(double[] x, double[] y, int[] startNode, int[] endNode, double[] elasticModulus, double[] area, double[] thermalExpansion, double[] temperatureChange, bool[] fixedX, bool[] fixedY, double[] prescribedX, double[] prescribedY, double[] loadX, double[] loadY, int responseNode, int loadNode, double step) -> double

Parameters: x: double[], y: double[], startNode: int[], endNode: int[], elasticModulus: double[], area: double[], thermalExpansion: double[], temperatureChange: double[], fixedX: bool[], fixedY: bool[], prescribedX: double[], prescribedY: double[], loadX: double[], loadY: double[], responseNode: int, loadNode: int, step: double


Public signature
export function verticalTemperatureSensitivity(double[] x, double[] y, int[] startNode, int[] endNode, double[] elasticModulus, double[] area, double[] thermalExpansion, double[] temperatureChange, bool[] fixedX, bool[] fixedY, double[] prescribedX, double[] prescribedY, double[] loadX, double[] loadY, int responseNode, int element, double step) -> double

Parameters: x: double[], y: double[], startNode: int[], endNode: int[], elasticModulus: double[], area: double[], thermalExpansion: double[], temperatureChange: double[], fixedX: bool[], fixedY: bool[], prescribedX: double[], prescribedY: double[], loadX: double[], loadY: double[], responseNode: int, element: int, step: double


Documentation version

Language 1.0.0, compiler 1.0.0, runtime 1.0.0. This reference is generated from the official SS documentation so package and language details stay consistent with the release.