Merge branch 'master' of github.com:JuliaFEM/JuliaFEM.jl

This commit is contained in:
Jukka Aho
2019-11-26 15:30:42 +07:00
2 changed files with 28 additions and 0 deletions
+16
View File
@@ -511,6 +511,22 @@ function assemble!(assembly::Assembly,
end
end
"""
assemble!(assembly, problem, elements, time, ::Type{Val{:continuum}})
Assemble all other elements for continuum elasticity problems. Basically, throw
an exception telling to filter invalid elements out from the element set.
"""
function assemble!(assembly::Assembly,
problem::Problem{Elasticity},
elements::Vector{Element{El}},
time, ::Type{Val{:continuum}}) where El
@info("It looks that you are trying to assemble elements of type $El to 3d continuum "*
"problem. However, they are not supported yet. To filter out elements from a "*
"element set, try `filter(element->!isa(element, Element{$El}), elements)`")
error("Tried to assemble unsupported elements of type $El to 3d continuum problem.")
end
""" Return strain tensor. """
function get_strain_tensor(problem, element, ip, time)
gradu = element("displacement", ip, time, Val{:Grad})
@@ -0,0 +1,12 @@
# This file is a part of JuliaFEM.
# License is MIT: see https://github.com/JuliaFEM/JuliaFEM.jl/blob/master/LICENSE.md
using JuliaFEM, Test
# Test that if 3d continuum problem have some elements we don't know how to
# deal with, raise error with clear message
elements = [Element(Seg3, (1, 2, 3))]
problem = Problem(Elasticity, "test seg3", 3)
add_elements!(problem, elements)
@test_throws ErrorException assemble!(problem, 0.0)