mirror of
https://github.com/JuliaFEM/JuliaFEM.jl.git
synced 2026-09-27 12:16:56 +00:00
2d tie contact working.
This commit is contained in:
+13
-10
@@ -1,8 +1,9 @@
|
||||
# This file is a part of JuliaFEM.
|
||||
# License is MIT: see https://github.com/JuliaFEM/JuliaFEM.jl/blob/master/LICENSE.md
|
||||
|
||||
# Let's drop here all integration schemes and some defaults for different element types
|
||||
|
||||
function get_default_integration_points(element::Quad4)
|
||||
function get_integration_points(Quad4::Element)
|
||||
[
|
||||
IntegrationPoint(1.0/sqrt(3.0)*[-1, -1], 1.0),
|
||||
IntegrationPoint(1.0/sqrt(3.0)*[ 1, -1], 1.0),
|
||||
@@ -11,21 +12,22 @@ function get_default_integration_points(element::Quad4)
|
||||
]
|
||||
end
|
||||
|
||||
typealias LineElement Union{Seg2, Seg3}
|
||||
|
||||
function line1()
|
||||
function get_integration_points(element::LineElement, ::Type{Val{1}})
|
||||
[
|
||||
IntegrationPoint([0.0], 2.0)
|
||||
]
|
||||
end
|
||||
|
||||
function line2()
|
||||
function get_integration_points(element::LineElement, ::Type{Val{2}})
|
||||
[
|
||||
IntegrationPoint([-sqrt(1/3)], 1)
|
||||
IntegrationPoint([+sqrt(1/3)], 1)
|
||||
]
|
||||
end
|
||||
|
||||
function line3()
|
||||
function get_integration_points(element::LineElement, ::Type{Val{3}})
|
||||
[
|
||||
IntegrationPoint([0.0], 8/9),
|
||||
IntegrationPoint([-sqrt(3/5)], 5/9),
|
||||
@@ -33,7 +35,7 @@ function line3()
|
||||
]
|
||||
end
|
||||
|
||||
function line4()
|
||||
function get_integration_points(element::LineElement, ::Type{Val{4}})
|
||||
[
|
||||
IntegrationPoint([+sqrt(3/7 - 2/7*sqrt(6/5))], (18+sqrt(30))/36)
|
||||
IntegrationPoint([-sqrt(3/7 - 2/7*sqrt(6/5))], (18+sqrt(30))/36)
|
||||
@@ -42,7 +44,7 @@ function line4()
|
||||
]
|
||||
end
|
||||
|
||||
function line5()
|
||||
function get_integration_points(element::LineElement, ::Type{Val{5}})
|
||||
[
|
||||
IntegrationPoint([-1/3*sqrt(5 + 2*sqrt(10/7))], (322-13*sqrt(70))/900),
|
||||
IntegrationPoint([-1/3*sqrt(5 - 2*sqrt(10/7))], (322+13*sqrt(70))/900),
|
||||
@@ -52,10 +54,11 @@ function line5()
|
||||
]
|
||||
end
|
||||
|
||||
function get_default_integration_points(element::Seg2)
|
||||
return line1()
|
||||
function get_integration_points(element::Seg2)
|
||||
return get_integration_points(element, Val{1})
|
||||
end
|
||||
|
||||
function get_default_integration_points(element::MSeg2)
|
||||
return line3()
|
||||
function get_integration_points(element::Seg3)
|
||||
return get_integration_points(element, Val{2})
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user