SS.Vibrations 1.2.0
Mass-normalized participation, damped frequency sweeps, truncated modal superposition with residual correction and damping identification; validated SDOF and general linear MDOF modal/transient response
Language compatibility: >=1.0.0 <2.0.0
Runtime compatibility: >=1.0.0 <2.0.0
Dependencies: SS.LinearAlgebra ^1.7.0
Public API
Vibrations.dampingIdentification
export function dampingIdentification(double[] frequencies, double[] dampingRatios)->DampingIdentificationResultParameters: frequencies: double[], dampingRatios: double[]
export record DampingIdentificationResult(public double massCoefficient, public double stiffnessCoefficient, public double[] fittedRatios, public double rootMeanSquareError, public int rank, public bool identifiable, public string diagnostic)Parameters: massCoefficient: double, stiffnessCoefficient: double, fittedRatios: double[], rootMeanSquareError: double, rank: int, identifiable: bool, diagnostic: string
Vibrations.freeUnderdamped
export function freeUnderdamped(double initialDisplacement, double initialVelocity, double mass, double stiffness, double damping, double time) -> doubleParameters: initialDisplacement: double, initialVelocity: double, mass: double, stiffness: double, damping: double, time: double
export record FrequencyResponse(public double[] amplitudes, public double[] phases, public double[] realDisplacement, public double[] imaginaryDisplacement, public double residual, public bool bounded, public string diagnostic)Parameters: amplitudes: double[], phases: double[], realDisplacement: double[], imaginaryDisplacement: double[], residual: double, bounded: bool, diagnostic: string
export function frequencyResponseSweep(MdofSystem system, double[] force, double[] frequencies)->FrequencyResponseSweepResultParameters: system: MdofSystem, force: double[], frequencies: double[]
export record FrequencyResponseSweepResult(public double[] frequencies, public double[] amplitudes, public double[] phases, public double[] responseIndicators, public double peakFrequency, public double peakAmplitude, public bool bounded, public string diagnostic)Parameters: frequencies: double[], amplitudes: double[], phases: double[], responseIndicators: double[], peakFrequency: double, peakAmplitude: double, bounded: bool, diagnostic: string
Vibrations.harmonicForceResponse
export function harmonicForceResponse(double forceAmplitude, double forcingFrequency, double mass, double stiffness, double damping) -> HarmonicResponseParameters: forceAmplitude: double, forcingFrequency: double, mass: double, stiffness: double, damping: double
export record HarmonicResponse(public double amplitude, public double phase, public double magnification, public bool resonant, public string diagnostic)Parameters: amplitude: double, phase: double, magnification: double, resonant: bool, diagnostic: string
Vibrations.harmonicResponseMdof
export function harmonicResponseMdof(MdofSystem system, double[] force, double frequency)->FrequencyResponseParameters: system: MdofSystem, force: double[], frequency: double
Vibrations.mdofSystem
export function mdofSystem(int degrees, double[] mass, double[] damping, double[] stiffness)->MdofSystemParameters: degrees: int, mass: double[], damping: double[], stiffness: double[]
Vibrations.MdofSystem
export record MdofSystem(public int degrees, public double[] mass, public double[] damping, public double[] stiffness)Parameters: degrees: int, mass: double[], damping: double[], stiffness: double[]
export record MdofTimeHistory(public double[] displacement, public double[] velocity, public double[] acceleration, public double[] times, public double[] balanceResiduals, public double[] mechanicalEnergy, public double externalWork, public double dampingDissipation, public double energyResidual, public int degrees, public int steps, public string diagnostic)Parameters: displacement: double[], velocity: double[], acceleration: double[], times: double[], balanceResiduals: double[], mechanicalEnergy: double[], externalWork: double, dampingDissipation: double, energyResidual: double, degrees: int, steps: int, diagnostic: string
Vibrations.mechanicalEnergy
export function mechanicalEnergy(double mass, double stiffness, double displacement, double velocity)->doubleParameters: mass: double, stiffness: double, displacement: double, velocity: double
Vibrations.modal2
export function modal2(double mass1, double mass2, double stiffness1, double couplingStiffness, double stiffness2) -> Modal2Parameters: mass1: double, mass2: double, stiffness1: double, couplingStiffness: double, stiffness2: double
Vibrations.Modal2
export record Modal2(public double firstFrequency, public double secondFrequency, public double firstRatio, public double secondRatio, public bool valid, public string diagnostic)Parameters: firstFrequency: double, secondFrequency: double, firstRatio: double, secondRatio: double, valid: bool, diagnostic: string
Vibrations.modalAnalysis
export function modalAnalysis(MdofSystem system, double[] influence, double tolerance, int maximumIterations)->ModalAnalysisParameters: system: MdofSystem, influence: double[], tolerance: double, maximumIterations: int
Vibrations.ModalAnalysis
export record ModalAnalysis(public double[] frequencies, public double[] modes, public double[] participationFactors, public double[] effectiveModalMasses, public double residual, public bool converged, public string diagnostic)Parameters: frequencies: double[], modes: double[], participationFactors: double[], effectiveModalMasses: double[], residual: double, converged: bool, diagnostic: string
export function modalParticipationFactors(MdofSystem system, ModalAnalysis modes, double[] influence)->ModalParticipationReportParameters: system: MdofSystem, modes: ModalAnalysis, influence: double[]
export record ModalParticipationReport(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
export function modalSuperpositionResponse(MdofSystem system, ModalAnalysis modes, int modeCount, double[] forces, double step, bool residualCorrection)->ModalSuperpositionResultParameters: system: MdofSystem, modes: ModalAnalysis, modeCount: int, forces: double[], step: double, residualCorrection: bool
export record ModalSuperpositionResult(public double[] displacement, public double[] velocity, public double[] acceleration, public double[] times, public int degrees, public int modesUsed, public double maximumResidualCorrection, public string diagnostic)Parameters: displacement: double[], velocity: double[], acceleration: double[], times: double[], degrees: int, modesUsed: int, maximumResidualCorrection: double, diagnostic: string
export function newmarkAverageAcceleration(double mass, double damping, double stiffness, double initialDisplacement, double initialVelocity, double[] forces, double step) -> TimeHistoryParameters: mass: double, damping: double, stiffness: double, initialDisplacement: double, initialVelocity: double, forces: double[], step: double
Vibrations.newmarkBaseExcitation
export function newmarkBaseExcitation(MdofSystem system, double[] influence, double[] baseAcceleration, double[] initialDisplacement, double[] initialVelocity, double step)->MdofTimeHistoryParameters: system: MdofSystem, influence: double[], baseAcceleration: double[], initialDisplacement: double[], initialVelocity: double[], step: double
Vibrations.newmarkMdof
export function newmarkMdof(MdofSystem system, double[] initialDisplacement, double[] initialVelocity, double[] forces, double step)->MdofTimeHistoryParameters: system: MdofSystem, initialDisplacement: double[], initialVelocity: double[], forces: double[], step: double
Vibrations.rayleighDamping
export function rayleighDamping(MdofSystem system, double firstFrequency, double firstRatio, double secondFrequency, double secondRatio)->RayleighDampingParameters: system: MdofSystem, firstFrequency: double, firstRatio: double, secondFrequency: double, secondRatio: double
export record RayleighDamping(public double massCoefficient, public double stiffnessCoefficient, public double[] damping)Parameters: massCoefficient: double, stiffnessCoefficient: double, damping: double[]
Vibrations.sdof
export function sdof(double mass, double stiffness, double damping) -> SdofPropertiesParameters: mass: double, stiffness: double, damping: double
export record SdofProperties(public double naturalFrequency, public double cyclicFrequency, public double criticalDamping, public double dampingRatio, public double dampedFrequency, public bool underdamped)Parameters: naturalFrequency: double, cyclicFrequency: double, criticalDamping: double, dampingRatio: double, dampedFrequency: double, underdamped: bool
Vibrations.TimeHistory
export record TimeHistory(public double[] displacement, public double[] velocity, public double[] acceleration, public double step, public bool stable, public string diagnostic)Parameters: displacement: double[], velocity: double[], acceleration: double[], step: double, stable: bool, diagnostic: string
Vibrations.transmissibility
export function transmissibility(double frequencyRatio, double dampingRatio) -> doubleParameters: frequencyRatio: double, dampingRatio: 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.