StructuralDynamicsODESolvers.jl

Numerical integration methods for structural dynamics problems
Author ONSAS
Popularity
13 Stars
Updated Last
5 Months Ago
Started In
February 2021

StructuralDynamicsODESolvers.jl

Build Status Documentation license

This package contains pure Julia implementations of ordinary differential equations (ODE) solvers for structural dynamics problems.

Features

The following solvers for linear dynamic equations are available:

  • Bathe (equal size sub-steps) [BAT07]
  • Central difference
  • Houbolt [HOU50]
  • Newmark [NEW509]
  • Backward Euler (for first order systems)

Example

The following example is explained in this notebook.

For further examples see the Examples section of the documentation.

using StructuralDynamicsODESolvers

k  = 2 ; m  = .5 ;  c = .1 
u0 = 1 ; v0 = 0 

alg = Bathe(Δt = 0.1)

M = m*ones(1, 1)
C = c*ones(1, 1)
K = k*ones(1, 1)
R = zeros(1)

sys = SecondOrderAffineContinuousSystem(M, C, K, R)

U₀ = u0 * ones(1)
V₀ = v0 * ones(1)

prob = InitialValueProblem(sys, (U₀, V₀))

sol = solve(prob, alg, NSTEPS=300);
using Plots

plot(sol, vars=(0, 1), xlab="time", ylab="displacement")

Related libraries

This package has been created for research purposes. If you are new to numerically solving differential equations in Julia, we suggest that you use the DifferentialEquations.jl suite.

References

Used By Packages

No packages found.