From 7b60f489a92343faf11527b5cf191f598334dd96 Mon Sep 17 00:00:00 2001 From: Jukka Aho Date: Tue, 1 Mar 2016 05:52:42 +0200 Subject: [PATCH] 3d still not converging --- .../2016-02-24-3d-patch-test/two_blocks.hdf | Bin 503004 -> 701380 bytes src/fields.jl | 4 + src/mortar_2d_autodiff.jl | 2 +- src/mortar_3d_autodiff.jl | 142 ++++++++++++------ src/preprocess_aster_reader.jl | 3 +- 5 files changed, 99 insertions(+), 52 deletions(-) diff --git a/geometry/2016-02-24-3d-patch-test/two_blocks.hdf b/geometry/2016-02-24-3d-patch-test/two_blocks.hdf index 60920d892df3642541360d5e3dfcc3644440e196..35f3aa4e2115c4cca7eb0c853cb29fccdedc1a4c 100644 GIT binary patch literal 701380 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

Dp)v9 zTgxnv07BUsuBJ8qoa#Yq-!LAneNTqy!uYoJxfB1_IE6CS;BobjtrEEz^=S>Czgpr? zD&3PBHo9%?^8Bdk;o`Z>eQX@Ati0w|ZU_EA@zogLyO?`hCW*^~$6u)Jl(qLN3e zc3Jbw*TbzU2TLi8>Rk_;hSL3xE(-_GTQD;JyhWGom!yl)Gcun(Eqf%0AG8Ej`f=-g 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 Mj?DH={CDjC0|353lK=n! literal 503004 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 diff --git a/src/fields.jl b/src/fields.jl index 9accf28..6b8ee8a 100644 --- a/src/fields.jl +++ b/src/fields.jl @@ -211,6 +211,10 @@ function Base.(:+)(f1::DVTI, f2::DVTI) return DVTI(f1.data + f2.data) end +function Base.(:-)(f1::DVTI, f2::DVTI) + return DVTI(f1.data - f2.data) +end + """ Multiply DCTI field with a constant ``c``. """ function Base.(:*){T<:Real}(c::T, field::DVTI) return DVTI(c*field.data) diff --git a/src/mortar_2d_autodiff.jl b/src/mortar_2d_autodiff.jl index a8e67df..7849b73 100644 --- a/src/mortar_2d_autodiff.jl +++ b/src/mortar_2d_autodiff.jl @@ -130,7 +130,7 @@ function assemble!(problem::Problem{Mortar}, time::Real, ::Type{Val{2}}) la1 = Field(Vector[la[:,i] for i in slave_element_nodes]) n1 = Field(Vector[normals[:,i] for i in slave_element_nodes]) nnodes = size(slave_element, 2) - update!(slave_element, "normals", time => ForwardDiff.get_value(n1)) + update!(slave_element, "normals", time => ForwardDiff.get_value(n1.data)) # 3. loop all master elements for master_element in slave_element["master elements"] diff --git a/src/mortar_3d_autodiff.jl b/src/mortar_3d_autodiff.jl index 7d0c35d..052e9cc 100644 --- a/src/mortar_3d_autodiff.jl +++ b/src/mortar_3d_autodiff.jl @@ -198,7 +198,7 @@ function check_orientation!(P, n) B_proj = Q'*(B-C) a = atan2(A_proj[3], A_proj[2]) b = atan2(B_proj[3], B_proj[2]) - return a < b + return a > b end) end @@ -225,8 +225,6 @@ function assemble!(problem::Problem{Mortar}, time::Real, ::Type{Val{3}}) # 1. calculate and average node normals for slave element nodes normal = zeros(u) - tangent1 = zeros(u) - tangent2 = zeros(u) for element in get_elements(problem) haskey(element, "master elements") || continue conn = get_connectivity(element) @@ -238,23 +236,20 @@ function assemble!(problem::Problem{Mortar}, time::Real, ::Type{Val{3}}) for ip in get_integration_points(element, Val{3}) dN = get_dbasis(element, ip) N = element(ip, time) - j = transpose(sum([kron(dN[:,i], x_el[i]') for i=1:length(x_el)])) - n = reshape(cross(j[:,1], j[:,2]), 3, 1) + J = transpose(sum([kron(dN[:,i], x_el[i]') for i=1:length(x_el)])) + n = reshape(cross(J[:,1], J[:,2]), 3, 1) normal[:, conn] += ip.weight*n*N end end - # calculate tangents + + all_slave_nodes = sort(collect(all_slave_nodes)) + + # normalize to unit normal for i in all_slave_nodes normal[:,i] /= norm(normal[:,i]) - U1 = normal[:,i] - j = indmax(abs(U1)) - V2 = zeros(3) - V2[mod(j,3)+1] = 1.0 - U2 = V2 - dot(U1,V2)/dot(V2,V2)*V2 - U3 = cross(U1,U2) - tangent1[:,i] = U2/norm(U2) - tangent2[:,i] = U3/norm(U3) end + #normal = ForwardDiff.get_value(normal) + if props.rotate_normals for i=1:size(normal, 2) normal[:,i] = -normal[:,i] @@ -270,21 +265,25 @@ function assemble!(problem::Problem{Mortar}, time::Real, ::Type{Val{3}}) slave_element_nodes = get_connectivity(slave_element) X1 = slave_element("geometry", time) u1 = Field(Vector[u[:,i] for i in slave_element_nodes]) + if haskey(slave_element, "displacement") + u1 -= slave_element("displacement", time) + end x1 = X1 + u1 la1 = Field(Vector[la[:,i] for i in slave_element_nodes]) + #if haskey(slave_element, "reaction force") + # la1 -= slave_element("reaction force", time) + #end n1 = Field(Vector[normal[:,i] for i in slave_element_nodes]) - t1 = Field(Vector[tangent1[:,i] for i in slave_element_nodes]) - t2 = Field(Vector[tangent2[:,i] for i in slave_element_nodes]) nnodes = size(slave_element, 2) update!(slave_element, "normals", time => ForwardDiff.get_value(n1.data)) - # create auxiliary plane (x0, Q) + # 2.1. create auxiliary plane (x0, Q) xi = get_reference_element_midpoint(slave_element) N = vec(get_basis(slave_element, xi)) x0 = N*x1 n0 = N*n1 - # project slave nodes to auxiliary plane + # 2.2. project slave nodes to auxiliary plane S = Vector[project_vertex_to_auxiliary_plane(p, x0, n0) for p in x1] # 3. loop all master elements @@ -293,35 +292,35 @@ function assemble!(problem::Problem{Mortar}, time::Real, ::Type{Val{3}}) master_element_nodes = get_connectivity(master_element) X2 = master_element("geometry", time) u2 = Field(Vector[u[:,i] for i in master_element_nodes]) + if haskey(master_element, "displacement") + u2 -= master_element("displacement", time) + end x2 = X2 + u2 - x1_midpoint = mean(x1) - x2_midpoint = mean(x2) - distance = ForwardDiff.get_value(norm(x2_midpoint - x1_midpoint)) + distance = norm(mean(x2) - mean(x1)) distance > props.maximum_distance && continue - # project master nodes to auxiliary plane + # 3.1. project master nodes to auxiliary plane M = Vector[project_vertex_to_auxiliary_plane(p, x0, n0) for p in x2] - # create polygon clipping on auxiliary plane + # 3.2. create polygon clipping on auxiliary plane P = get_polygon_clip(S, M, n0) length(P) < 3 && continue # no clipping or shared edge (no volume) check_orientation!(P, n0) C0 = calculate_centroid(P) + # 3.3. loop integration cells one at time for cell in get_cells(P, C0) x_cell = Field(cell) - # create dual basis + # 3.3.1. create dual basis De = zeros(nnodes, nnodes) Me = zeros(nnodes, nnodes) for ip in get_integration_points(Tri3, Val{5}) N = vec(get_basis(Tri3, ip.xi)) x_gauss = N*x_cell - xi_slave, alpha = project_vertex_to_surface(x_gauss, x0, n0, slave_element, x1, time) N1 = slave_element(xi_slave, time) - dNC = get_dbasis(Tri3, ip.xi) JC = transpose(sum([kron(dNC[:,j], x_cell[j]') for j=1:length(x_cell)])) wC = ip.weight*norm(cross(JC[:,1], JC[:,2])) @@ -330,10 +329,11 @@ function assemble!(problem::Problem{Mortar}, time::Real, ::Type{Val{3}}) end Ae = De*inv(Me) - # loop integration points of cell + # 3.3.2 loop integration points of cell and calculate fc and gap for ip in get_integration_points(Tri3, Val{5}) N = vec(get_basis(Tri3, ip.xi)) x_gauss = N*x_cell + # project gauss point back to element surfaces xi_slave, alpha = project_vertex_to_surface(x_gauss, x0, n0, slave_element, x1, time) xi_master, alpha = project_vertex_to_surface(x_gauss, x0, n0, master_element, x2, time) @@ -348,15 +348,24 @@ function assemble!(problem::Problem{Mortar}, time::Real, ::Type{Val{3}}) wC = ip.weight*norm(cross(JC[:,1], JC[:,2])) x_s = N1*x1 - n_s = N1*n1 x_m = N2*x2 + u_s = N1*u1 + u_m = N2*u2 + n_s = N1*n1 la_s = Phi*la1 - g_s = x_s - x_m + la_n = dot(n_s, la_s) + g_s = x_s-x_m + #gn = -dot(n_s, g_s) fc[:,slave_element_nodes] += wC*la_s*N1' fc[:,master_element_nodes] -= wC*la_s*N2' - gap[:,slave_element_nodes] += wC*g_s*Phi' - #gn = props.gap_sign*dot(n_s, x_s - x_m) + #gap[:,slave_element_nodes] += wC*g_s*N1' + #gap[:,master_element_nodes] += wC*g_s*N2' + gn = props.gap_sign*dot(n_s, g_s) #gap[1,slave_element_nodes] += wC*gn*Phi' + #gap[1,slave_element_nodes] += wC*gn*Phi' + #C[:,master_element_nodes] -= wC*u_s*N2' + gap[:,slave_element_nodes] = wC*props.gap_sign*g_s*Phi' + #gap[:,master_element_nodes] -= wC*(u_s-u_m)*N2' slave_surface_area += wC slave_element_area += wC @@ -371,7 +380,6 @@ function assemble!(problem::Problem{Mortar}, time::Real, ::Type{Val{3}}) # like in 2d, check contact in nodes based on a complementarity condition - all_slave_nodes = sort(collect(all_slave_nodes)) nzgap = sort(nonzeros(sparse(ForwardDiff.get_value(gap)))) info("gap: $nzgap") @@ -397,30 +405,43 @@ function assemble!(problem::Problem{Mortar}, time::Real, ::Type{Val{3}}) continue end n = normal[:,j] - t1 = tangent1[:,j] - t2 = tangent2[:,j] - lan = dot(n, la[:,j]) - gn = dot(n, gap[:,j]) - -# if lan - gn < 0 + I = eye(3) + k = indmax([norm(cross(n,I[:,k])) for k in 1:3]) + t1 = cross(n, I[:,k])/norm(cross(n, I[:,k])) + t2 = cross(n, t1) + Q = [n t1 t2] + la_nt = Q'*la[:,j] + gap_nt = Q'*gap[:,j] + C[1,j] = gap_nt[1] + C[2:3,j] = la_nt[2:3] + #C[:,j] -= gap[:,j] +#= + if lan - gn < 0 info("set node $j active, normal direction = $(ForwardDiff.get_value(n)), tangent plane = $(ForwardDiff.get_value(t1)) x $(ForwardDiff.get_value(t2))") - C[1,j] = dot(n, gap[:,j]) + C[1,j] = gn C[2,j] = dot(t1, la[:,j]) C[3,j] = dot(t2, la[:,j]) -# else -# C[:,j] = la[:,j] -# end + else + C[:,j] = la[:,j] + end +=# + end #= for (i, j) in enumerate(all_slave_nodes) - Ci = ForwardDiff.get_value(C[:,j]) - gapi = ForwardDiff.get_value(gap[:,j]) - fci = ForwardDiff.get_value(fc[:,j]) - lai = ForwardDiff.get_value(la[:,j]) - ui = ForwardDiff.get_value(u[:,j]) - ni = ForwardDiff.get_value(normal[:,j]) - info("$i/$j: C = $Ci, f = $fci, gap = $gapi, la = $lai, u = $ui, n = $ni") + n = normal[:,j] + I = eye(3) + k = indmax([norm(cross(n,I[:,k])) for k in 1:3]) + t1 = cross(n, I[:,k])/norm(cross(n, I[:,k])) + t2 = cross(n, t1) + Q = [n t1 t2] + Ci = ForwardDiff.get_value(Q'*C[:,j]) + gapi = ForwardDiff.get_value(Q'*gap[:,j]) + fci = ForwardDiff.get_value(Q'*fc[:,j]) + lai = ForwardDiff.get_value(Q'*la[:,j]) + ui = ForwardDiff.get_value(Q'*u[:,j]) + info("$i/$j: \nC = $Ci, \nf = $fci, \ngap = $gapi, \nla = $lai, \nu = $ui") end =# @@ -432,10 +453,13 @@ function assemble!(problem::Problem{Mortar}, time::Real, ::Type{Val{3}}) ndofs = round(Int, length(x)/2) A, allresults = ForwardDiff.jacobian(calculate_interface, x, ForwardDiff.AllResults, cache=autodiffcache) - b = -ForwardDiff.value(allresults) + b = ForwardDiff.value(allresults) +# dump(round(A, 3)) +# dump(round(b, 3)') A = sparse(A) b = sparse(b) + SparseMatrix.droptol!(A, 1.0e-12) SparseMatrix.droptol!(b, 1.0e-12) @@ -446,6 +470,24 @@ function assemble!(problem::Problem{Mortar}, time::Real, ::Type{Val{3}}) f = b[1:ndofs] g = b[ndofs+1:end] + function joo(x) + nz1 = sort(unique(rowvals(x))) + nz2 = sort(unique(rowvals(x'))) + info("nz1 = $nz1, nz2 = $nz2") + dump(round(full(x[nz1,nz2]), 3)) + end + println("K") + joo(K) + println("C1") + joo(C1) + println("C2") + joo(C2) + println("D") + joo(D) + println("f") + joo(f) + println("g") + joo(g) #= slaves = [101,108,111,112,113,120,123,124,125,126,129,130,149,150,151,152] for j in slaves diff --git a/src/preprocess_aster_reader.jl b/src/preprocess_aster_reader.jl index f97258f..91ea7da 100644 --- a/src/preprocess_aster_reader.jl +++ b/src/preprocess_aster_reader.jl @@ -294,7 +294,8 @@ end global const med_elmap = Dict{Symbol, Vector{Int}}( :HE8 => [4, 8, 7, 3, 1, 5, 6, 2], - :TE4 => [2, 3, 4, 1] + :TE4 => [2, 3, 4, 1], + :QU4 => [1, 2, 3, 4], # :SE2 => [2, 1] )