Skip to content

Latest commit

 

History

History
65 lines (41 loc) · 2.58 KB

README.md

File metadata and controls

65 lines (41 loc) · 2.58 KB

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