From 16534d9e4eeb785055925081acf751aaccd64350 Mon Sep 17 00:00:00 2001 From: Jukka Aho Date: Mon, 4 Jun 2018 21:29:37 +0300 Subject: [PATCH] Use FEMBeam.jl (#200) Use FEMBeam.jl to solve beam problems. Added an example, where natural frequencies of frequencies of 3d frame structure are calculated. Some minor modifications to Modal analysis is done to make Xdmf writing of 6 dof nodes work. --- REQUIRE | 1 + examples/3d_frame.jl | 95 +++++++++++++ examples/3d_frame/model.med | Bin 0 -> 25763 bytes examples/3d_frame/model.png | Bin 0 -> 14611 bytes examples/3d_frame/natfreq.png | Bin 0 -> 85532 bytes src/JuliaFEM.jl | 3 + src/solvers_modal.jl | 253 +++++++++++++++------------------- 7 files changed, 207 insertions(+), 145 deletions(-) create mode 100644 examples/3d_frame.jl create mode 100644 examples/3d_frame/model.med create mode 100644 examples/3d_frame/model.png create mode 100644 examples/3d_frame/natfreq.png diff --git a/REQUIRE b/REQUIRE index aa17f2b..cf2bc3a 100644 --- a/REQUIRE +++ b/REQUIRE @@ -14,3 +14,4 @@ Reexport HeatTransfer MortarContact2D MortarContact2DAD +FEMBeam diff --git a/examples/3d_frame.jl b/examples/3d_frame.jl new file mode 100644 index 0000000..58f6abb --- /dev/null +++ b/examples/3d_frame.jl @@ -0,0 +1,95 @@ +# This file is a part of JuliaFEM. +# License is MIT: see https://github.com/JuliaFEM/JuliaFEM.jl/blob/master/LICENSE.md + +# # Natural frequency analysis of 3d frame structure + +# For general information about Euler-Bernoulli beam theory, see +# [this](https://en.wikipedia.org/wiki/Euler%E2%80%93Bernoulli_beam_theory) +# wikipedia page. + +# The model is a 3d frame, shown in picture. + +# ![](3d_frame/model.png) + +using JuliaFEM +using JuliaFEM.Preprocess +using FEMBase.Test +using Logging +Logging.configure(level=INFO) +add_elements! = JuliaFEM.add_elements! + +# Reading mesh + +datadir = Pkg.dir("JuliaFEM", "examples", "3d_frame") +mesh = aster_read_mesh(joinpath(datadir, "model.med")) +println("Number of nodes in a model: ", length(mesh.nodes)) + +# Create beam elements. For 3d model, we need to define at least +# [Young's modulus](https://en.wikipedia.org/wiki/Young%27s_modulus), +# [shear modulus](https://en.wikipedia.org/wiki/Shear_modulus), +# [density](https://en.wikipedia.org/wiki/Density) +# cross-section area, moment of inertia in local coordinate +# system and polar moment of inertia. + +beam_elements = create_elements(mesh, "FRAME") +info("Number of elements: ", length(beam_elements)) +update!(beam_elements, "youngs modulus", 210.0e6) +update!(beam_elements, "shear modulus", 84.0e6) +update!(beam_elements, "density", 7850.0e-3) +update!(beam_elements, "cross-section area", 20.0e-2) +update!(beam_elements, "torsional moment of inertia 1", 10.0e-5) +update!(beam_elements, "torsional moment of inertia 2", 10.0e-5) +update!(beam_elements, "polar moment of inertia", 30.0e-5) + +# The direction of beam is defined in same way than in ABAQUS. +# That is, we have a tangent direction and one normal direction. +# The third direction is then cross product of tangent and normal. +# Because the second area moment is same in both directions, we can +# choose normal direction freely. + +for element in beam_elements + X1, X2 = element("geometry", 0.0) + t = (X2-X1)/norm(X2-X1) + I = eye(3) + k = indmax([norm(cross(t, I[:,k])) for k in 1:3]) + n = cross(t, I[:,k])/norm(cross(t, I[:,k])) + update!(element, "normal", n) +end + +# Create boundary conditions: fix all degrees of freedom for nodes in +# a set FIXED. Here we first create elements of type `Poi1` for each +# node j in set FIXED, update geometry field and then create new fields +# `fixed displacmeent 1`, `fixed displacement 2`, and so on, where the +# displacement / rotation is prescribed. + +bc_elements = [Element(Poi1, [j]) for j in mesh.node_sets[:FIXED]] +update!(bc_elements, "geometry", mesh.nodes) +for i=1:3 + update!(bc_elements, "fixed displacement $i", 0.0) + update!(bc_elements, "fixed rotation $i", 0.0) +end + +# Create a problem, containing beam elements and boundary conditions: + +frame = Problem(Beam, "3d frame", 6) +add_elements!(frame, beam_elements) +add_elements!(frame, bc_elements) + +# Perform modal analysis + +step = Analysis(Modal) +xdmf = Xdmf(joinpath(datadir, "3d_frame_results"); overwrite=true) +add_results_writer!(step, xdmf) +add_problems!(step, [frame]) +run!(step) +close(xdmf.hdf) + +# Each `Analysis` can have properties, e.g. time, maximum number of iterations, +# convergence tolerance and so on. Eigenvalues of calculation are stored as a +# properties of analysis: + +freqs = sqrt.(step.properties.eigvals) / (2*pi) +println("Natural frequencies [Hz]: $(round.(freqs, 2))") + +# [![mode5](3d_frame/natfreq.png)](https://www.youtube.com/watch?v=GzktCqeASmo) + diff --git a/examples/3d_frame/model.med b/examples/3d_frame/model.med new file mode 100644 index 0000000000000000000000000000000000000000..a3f9c50b86dd243c869ee4b6a5ab03a1468a0428 GIT binary patch literal 25763 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 0 - info("Using custom P to make transform K_red = P'*K*P and M_red = P'*M*P") - for P in properties.P - K_red = P'*K_red*P - M_red = P'*M_red*P - end - elseif nboundary_problems != 0 - info("Eliminate boundary conditions from system.") - for boundary_problem in get_boundary_problems(solver) - eliminate_boundary_conditions!(K_red, M_red, boundary_problem, dim) - end - else - info("No boundary Dirichlet boundary conditions found for system.") - end + for P in properties.P + info("Using P to make transformation K_red = P'*K*P and M_red = P'*M*P") + K_red[:,:] = P'*K_red*P + M_red[:,:] = P'*M_red*P + end + + for problem in get_problems(solver) + eliminate_boundary_conditions!(problem, K_red, M_red, f) end # free up some memory before solution @@ -234,7 +172,6 @@ function solve!(solver::Solver{Modal}, time::Float64) M_red = full(M_red) end - om2 = nothing X = nothing passed = false @@ -245,34 +182,39 @@ function solve!(solver::Solver{Modal}, time::Float64) end passed = true catch - info("failed to calculate eigenvalues for problem. Maybe stiffness matrix is not positive definite, checking...") - info("is K symmetric? ", issymmetric(K_red)) - info("is M symmetric? ", issymmetric(M_red)) - info("is K positive definite? ", isposdef(K_red)) - info("is M positive definite? ", isposdef(M_red)) - info("Probably the reason is that stiffness matrix is not positive definite and Cholesky factorization is failing.") - info("To work around this problem, use arguments `sigma = ` when calling solver, i.e.") - info("solver(; sigma=1.0e-9") - info("Be aware that using sigma shifts eigenvalues up and a bit different results can be expected.") - if size(K_red, 1) < 2000 - info("stiffness matrix is small, using dense eigenvalue solver to check eigenvalues ...") - om2 = eigvals(full(K_red)) - info("squared eigenvalues om2 = $om2") - end + info("Failed to calculate eigenvalues for problem.") + b1 = issymmetric(K_red) + b2 = issymmetric(M_red) + b3 = isposdef(K_red) + b4 = isposdef(M_red) + info("Is K symmetric? $b1") + info("Is M symmetric? $b2") + info("Is K positive definite? $b3") + info("Is M positive definite? $b4") if properties.sigma != 0.0 - info("sigma is manually set and did not work, giving up, try increase sigma.") + if !b3 + info("Stiffness matrix is not positive definite and Cholesky ", + "factorization is failing. Model is not supported enough ", + "with boundary conditions. To work around this problem, ", + "use `problem.properties.sigma = ` ", + "To add artificial stiffness to model. (Or add boundary ", + "conditions.)") + end rethrow() end end if !passed - sigma = 1.0e-9 - info("Calculation of eigenvalues failed, trying again using sigma value sigma=$sigma") + sigma = problem.properties.sigma = 1.0e-9 + info("Calculation of eigenvalues failed. Stiffness matrix is not ", + "positive definite and Cholesky factorization is failing. Trying ", + "again by adjusting problem.properties.sigma to $sigma.") try om2, X = eigs(K_red + sigma*I, M_red; nev=props.nev, which=props.which) passed = true catch - info("Failed to calculate eigenvalues with sigma=$sigma, manually set sigma to something larger and try again.") + info("Failed to calculate eigenvalues with sigma value $sigma. ", + "Manually set sigma to something larger and try again.") rethrow() end end @@ -287,11 +229,11 @@ function solve!(solver::Solver{Modal}, time::Float64) props.eigvecs[nz,i] = X[:,i] for problem in get_boundary_problems(solver) isa(problem, Problem{Mortar}) || continue - S, M, P = calc_projection(problem, dim) + s, m, P = calc_projection(problem) # FIXME: store projection to boundary problem, i.e. # update!(problem, "master-slave projection", time => P) # us = P*um - props.eigvecs[S,i] = P*props.eigvecs[M,i] + props.eigvecs[s,i] = P*props.eigvecs[m,i] end end @@ -321,7 +263,11 @@ function update_xdmf!(solver::Solver{Modal}) node_ids = keys(X_) @timeit "create node permutation" P = Dict(j=>i for (i, j) in enumerate(node_ids)) nnodes = length(X_) + ndofs = round(Int, size(solver.properties.eigvecs, 1)/nnodes) ndim = length(X_[first(node_ids)]) + info("Number of nodes: $nnodes. ", + "Number of dofs/node: $ndofs. ", + "Dimension of geometry: $ndim.") @timeit "create ncoords array" begin X = zeros(ndim, nnodes) for j in node_ids @@ -410,15 +356,26 @@ function update_xdmf!(solver::Solver{Modal}) end @timeit "store eigenmode" begin - mode_ = solver.properties.eigvecs[:,j] - mode_ = reshape(mode_, ndim, round(Int, length(mode_)/ndim)) + mode_ = reshape(solver.properties.eigvecs[:,j], ndofs, nnodes) @timeit "create mode array" begin - mode = zeros(ndim, nnodes) - for i in node_ids - mode[:,P[i]] = mode_[:,i] + mode = zeros(ndofs, nnodes) + for nid in node_ids + mode[:,P[nid]] = mode_[:,nid] end end - field_type = ndim == 1 ? "Scalar" : "Vector" + if ndofs == 1 + field_type = "Scalar" + elseif ndofs == 2 # extend to 3d + field_type = "Vector" + mode = vcat(mode, zeros(1, nnodes)) + elseif ndofs == 3 + field_type = "Vector" + elseif ndofs == 6 # has rotation dofs, drop them + field_type = "Vector" + mode = mode[1:3, :] + else + error("Number of dofs / node = $ndofs, I don't know how to store results to Xdmf!") + end field_center = "Node" attribute = new_child(frame, "Attribute") set_attribute(attribute, "Name", unknown_field_name) @@ -434,3 +391,9 @@ function update_xdmf!(solver::Solver{Modal}) save!(xdmf) end + +function solve!(solver::Solver{Modal}, time::Float64) + info("solve!(analysis, time) is deprecated. Use run!(analysis) instead.") + solver.properties.time = time + run!(solver) +end