Skip to content

ONSAS/StructuralDynamicsODESolvers.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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