{
"cells": [
{
"cell_type": "markdown",
"source": [
"# Excited Second Bending Mode\n",
"\n",
"This example shows how to simulate a simply supported beam with an excited second bending\n",
"mode\n",
"\n",
""
],
"metadata": {}
},
{
"outputs": [],
"cell_type": "code",
"source": [
"using GXBeam, LinearAlgebra\n",
"\n",
"# simply-supported beam with excited second bending mode\n",
"\n",
"# beam properties\n",
"L = 1\n",
"EA = 1\n",
"EI = 1\n",
"ρA = 1\n",
"\n",
"# generate points\n",
"nelem = 40\n",
"x = range(0, L, length=nelem+1)\n",
"y = zero(x)\n",
"z = zero(x)\n",
"points = [[x[i],y[i],z[i]] for i = 1:length(x)]\n",
"\n",
"# define connectivity\n",
"start = 1:nelem\n",
"stop = 2:nelem+1\n",
"\n",
"# compliance matrix for each beam element\n",
"compliance = fill(Diagonal([1e-6, 1e-6, 1e-6, 1e-6, 1/EI, 1e-6]), nelem)\n",
"\n",
"# mass matrix for each beam element\n",
"mass = fill(Diagonal([ρA, ρA, ρA, 1e-6, 1e-6, 1e-6]), nelem)\n",
"\n",
"# create assembly\n",
"assembly = Assembly(points, start, stop; compliance=compliance, mass=mass)\n",
"\n",
"# excite the second bending mode\n",
"delta = 1e-3 ## displacement magnitude\n",
"uz = delta*sin.(2*pi*x/L) ## linear displacement\n",
"u0 = [[0, 0, uz[i]] for i in eachindex(uz)]\n",
"\n",
"# prescribe the vertical displacement of each point\n",
"prescribed_conditions = Dict(i => PrescribedConditions(uz = uz[i]) for i = 1:length(points))\n",
"\n",
"# simply supported left side\n",
"prescribed_conditions[1] = PrescribedConditions(ux=0, uy=0, uz=0)\n",
"\n",
"# simply supported right side\n",
"prescribed_conditions[nelem+1] = PrescribedConditions(uz=0)\n",
"\n",
"# solve for static operating conditions\n",
"system, state, converged = static_analysis(assembly; prescribed_conditions)\n",
"\n",
"# extract initial conditions from the state vector\n",
"u0 = getproperty.(state.points, :u)\n",
"theta0 = getproperty.(state.points, :theta)\n",
"\n",
"# set new prescribed conditions\n",
"prescribed_conditions = Dict(\n",
" # simply supported left side\n",
" 1 => PrescribedConditions(ux=0, uy=0, uz=0, theta_x=0, theta_z=0),\n",
" # simply supported right side\n",
" nelem+1 => PrescribedConditions(uz=0)\n",
")\n",
"\n",
"# excited mode natural frequency\n",
"ω = (2*pi/L)^2*sqrt((EI)/(ρA))\n",
"\n",
"# solution time vector\n",
"t = range(0, 2*pi/ω, step=0.001)\n",
"\n",
"# perform time domain analysis\n",
"system, history, converged = time_domain_analysis(assembly, t;\n",
" prescribed_conditions = prescribed_conditions,\n",
" structural_damping = false,\n",
" u0=u0, theta0=theta0)\n",
"\n",
"# write visualization file\n",
"mkpath(\"excited-simulation\")\n",
"write_vtk(\"excited-simulation/excited-simulation\", assembly, history, t; scaling = 100)"
],
"metadata": {},
"execution_count": 1
},
{
"cell_type": "markdown",
"source": [
""
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"Plotting the results reveals that the analytical and computational solutions show\n",
"excellent agreement."
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "Plot{Plots.PyPlotBackend() n=2}",
"image/png": "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",
"text/html": [
"
"
],
"image/svg+xml": [
"\n",
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 2
}
],
"cell_type": "code",
"source": [
"# Get displacements at 1/4 of the beam's length\n",
"ipoint = div(nelem, 4) + 1\n",
"\n",
"# calculated deflection\n",
"w14_gxbeam = [state.points[ipoint].u[3]/L for state in history]\n",
"\n",
"# analytic deflection\n",
"w14_analytic = delta/L*cos.(ω*t)*sin(2*pi*x[ipoint]/L)\n",
"\n",
"# Plot\n",
"using Plots\n",
"pyplot()\n",
"plot(\n",
" title=\"Deflection at x/L = $(x[ipoint]/L)\",\n",
" xlabel = \"Time (s)\",\n",
" ylabel = \"\\$w/L\\$\",\n",
" grid = false,\n",
" legend = :bottomleft,\n",
" overwrite_figure=false\n",
" )\n",
"plot!(t, w14_analytic, label=\"Analytic\")\n",
"plot!(t, w14_gxbeam, label=\"GXBeam\")"
],
"metadata": {},
"execution_count": 2
},
{
"cell_type": "markdown",
"source": [
"---\n",
"\n",
"*This notebook was generated using [Literate.jl](https://github.com/fredrikekre/Literate.jl).*"
],
"metadata": {}
}
],
"nbformat_minor": 3,
"metadata": {
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.9.1"
},
"kernelspec": {
"name": "julia-1.9",
"display_name": "Julia 1.9.1",
"language": "julia"
}
},
"nbformat": 4
}