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
Language compatibility: >=1.0.0 <2.0.0
Runtime compatibility: >=1.0.0 <2.0.0
Dependencies: SS.LinearAlgebra ^1.7.0
Public API
export function combineFrameLoadCases(string identity, Frame2DModel model, FrameLoadCase[] cases, double[] factors)->FrameLoadCaseParameters: identity: string, model: Frame2DModel, cases: FrameLoadCase[], factors: double[]
StructuralMechanics.frame2DModel
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)->Frame2DModelParameters: x: double[], y: double[], startNode: int[], endNode: int[], kind: string[], elasticModulus: double[], area: double[], inertia: double[], density: double[], thermalExpansion: double[], fixedDegrees: bool[], prescribedDisplacement: double[]
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
export function frameBuckling(Frame2DModel model, FrameStaticResult reference, int requested, double tolerance, int maximumIterations)->FrameBucklingResultParameters: model: Frame2DModel, reference: FrameStaticResult, requested: int, tolerance: double, maximumIterations: int
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
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
export function frameLoadCase(string identity, Frame2DModel model, double[] nodalLoads, double[] uniformTransverseLoads, double[] temperatureChange)->FrameLoadCaseParameters: identity: string, model: Frame2DModel, nodalLoads: double[], uniformTransverseLoads: double[], temperatureChange: double[]
export record FrameLoadCase(public string identity, public double[] nodalLoads, public double[] uniformTransverseLoads, public double[] temperatureChange)Parameters: identity: string, nodalLoads: double[], uniformTransverseLoads: double[], temperatureChange: double[]
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
StructuralMechanics.frameModes
export function frameModes(Frame2DModel model, int requested, double tolerance, int maximumIterations)->FrameModalResultParameters: model: Frame2DModel, requested: int, tolerance: double, maximumIterations: int
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
export function instabilityDiagnostic2D(Frame2DModel model, double zeroTolerance, double conditionLimit, int maximumIterations)->InstabilityDiagnostic2DResultParameters: model: Frame2DModel, zeroTolerance: double, conditionLimit: double, maximumIterations: int
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
export function loadCombinationEnvelope2D(Frame2DModel model, FrameLoadCase[] baseCases, string[] combinationIdentities, double[] factors)->FrameEnvelope2DParameters: model: Frame2DModel, baseCases: FrameLoadCase[], combinationIdentities: string[], factors: double[]
export function modalParticipation2D(Frame2DModel model, FrameModalResult modes, double[] influence)->ModalParticipation2DResultParameters: model: Frame2DModel, modes: FrameModalResult, influence: double[]
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
StructuralMechanics.solveFrame2D
export function solveFrame2D(Frame2DModel model, FrameLoadCase loadCase)->FrameStaticResultParameters: model: Frame2DModel, loadCase: FrameLoadCase
StructuralMechanics.solveTruss2D
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
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
export function sparseFrameAssembly2D(Frame2DModel model, FrameLoadCase loadCase, double zeroTolerance)->SparseFrameAssembly2DResultParameters: model: Frame2DModel, loadCase: FrameLoadCase, zeroTolerance: double
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
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) -> doubleParameters: 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
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) -> doubleParameters: 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
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) -> doubleParameters: 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.