StructuralDynamicsODESolvers.jl

Numerical integration methods for structural dynamics problems
Author ONSAS
Popularity
2 Stars
Updated Last
1 Year Ago
Started In
February 2021

StructuralDynamicsODESolvers.jl

Build Status Documentation license Join the chat at https://gitter.im/ONSAS_/community

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 Example section of the documentation.

using StructuralDynamicsODESolvers
using Plots

plotly()

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

algo = 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, algo, NSTEPS=300)

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 strongly suggest that you use the DifferentialEquations.jl suite.

References

Used By Packages

No packages found.