From 86745ada8303e6f43bb5783b3534d60da4f0c766 Mon Sep 17 00:00:00 2001 From: ovainola Date: Thu, 25 Jun 2015 19:50:34 +0300 Subject: [PATCH] Adding license comment to files missing it and removing non-ascii characters from elasticity-solver --- src/elasticity_solver.jl | 48 ++++++++++++++++++---------------- src/interfaces.jl | 6 +++-- src/shape_functions.jl | 5 +++- src/xdmf.jl | 6 +++-- test/test_elasticity_solver.jl | 3 +++ test/test_model.jl | 3 +++ test/test_xdmf.jl | 3 +++ 7 files changed, 46 insertions(+), 28 deletions(-) diff --git a/src/elasticity_solver.jl b/src/elasticity_solver.jl index 8d277a3..ce67724 100644 --- a/src/elasticity_solver.jl +++ b/src/elasticity_solver.jl @@ -1,4 +1,6 @@ -# This file is a part of JuliaFEM. License is MIT: https://github.com/ovainola/JuliaFEM/blob/master/README.md +# This file is a part of JuliaFEM. +# License is MIT: see https://github.com/JuliaFEM/JuliaFEM.jl/blob/master/LICENSE.md + module elasticity_solver using Logging @@ -63,7 +65,7 @@ end @doc """ Calculate local tangent stiffness matrix and residual force vector R = T - F """ -> -function calc_local_matrices!(X, u, R, Kt, N, dNdξ, λ_, μ_, ipoints, iweights) +function calc_local_matrices!(X, u, R, Kt, N, dNdchi, lambda_, mu_, ipoints, iweights) dim, nnodes = size(X) I = eye(dim) R[:,:] = 0.0 @@ -73,34 +75,34 @@ function calc_local_matrices!(X, u, R, Kt, N, dNdξ, λ_, μ_, ipoints, iweights for m = 1:length(iweights) w = iweights[m] - ξ = ipoints[m, :] + chi = ipoints[m, :] # interpolate material parameters from element node fields - #λ = (λ_*N(ξ))[1] - #μ = (μ_*N(ξ))[1] - # Jᵀ = X*dNdξ(ξ) - #@debug("Jt:\n",Jᵀ) - λ = interpolate(λ_, N, ξ) - μ = interpolate(μ_, N, ξ) - Jᵀ = interpolate(X, dNdξ, ξ) - detJ = det(Jᵀ) - ∇N = inv(Jᵀ)*dNdξ(ξ)' - ∇u = u*∇N' - F = I + ∇u # Deformation gradient - E = 1/2*(∇u' + ∇u + ∇u'*∇u) # Green-Lagrange strain tensor - S = λ*trace(E)*I + 2*μ*E # PK2 stress tensor + #lambda = (lambda_*N(chi))[1] + #mu = (mu_*N(chi))[1] + # Jt = X*dNdchi(chi) + #@debug("Jt:\n",Jt) + lambda = interpolate(lambda_, N, chi) + mu = interpolate(mu_, N, chi) + Jt = interpolate(X, dNdchi, chi) + detJ = det(Jt) + deltaN = inv(Jt)*dNdchi(chi)' + delta_u = u*deltaN' + F = I + delta_u # Deformation gradient + E = 1/2*(delta_u' + delta_u + delta_u'*delta_u) # Green-Lagrange strain tensor + S = lambda*trace(E)*I + 2*mu*E # PK2 stress tensor P = F*S # PK1 stress tensor - R[:,:] += w*P*∇N*detJ + R[:,:] += w*P*deltaN*detJ for p = 1:nnodes for i = 1:dim dF[:,:] = 0.0 - dF[i,:] = ∇N[:,p] + dF[i,:] = deltaN[:,p] dE = 1/2*(F'*dF + dF'*F) - dS = λ*trace(dE)*I + 2*μ*dE + dS = lambda*trace(dE)*I + 2*mu*dE dP = dF*S + F*dS for q = 1:nnodes for j = 1:dim - Kt[dim*(p-1)+i,dim*(q-1)+j] += w*(dP[j,:]*∇N[:,q])[1]*detJ + Kt[dim*(p-1)+i,dim*(q-1)+j] += w*(dP[j,:]*deltaN[:,q])[1]*detJ end end end @@ -274,7 +276,7 @@ end Solve one increment of elasticity problem """ -> function solve_elasticity_increment!(X, u, du, elmap, nodalloads, - dirichletbc, λ, μ, N, dNdξ, ipoints, + dirichletbc, lambda, mu, N, dNdchi, ipoints, iweights) if length(size(elmap)) == 1 # quick hack for just one element @@ -297,8 +299,8 @@ function solve_elasticity_increment!(X, u, du, elmap, nodalloads, # this can be parallelized for i in 1:nelements eldofs = elmap[:,i] - calc_local_matrices!(X[:, eldofs], u[:, eldofs], R, Kt, N, dNdξ, - λ[eldofs], μ[eldofs], ipoints, iweights) + calc_local_matrices!(X[:, eldofs], u[:, eldofs], R, Kt, N, dNdchi, + lambda[eldofs], mu[eldofs], ipoints, iweights) assemble!(Kt, eldofs, Imat, Jmat, Vmat) assemble!(R, eldofs, Ivec, Vvec) end diff --git a/src/interfaces.jl b/src/interfaces.jl index 860ae35..642fa39 100644 --- a/src/interfaces.jl +++ b/src/interfaces.jl @@ -1,4 +1,6 @@ -# This file is a part of JuliaFEM. License is MIT: https://github.com/ovainola/JuliaFEM/blob/master/README.md +# This file is a part of JuliaFEM. +# License is MIT: see https://github.com/JuliaFEM/JuliaFEM.jl/blob/master/LICENSE.md + module interfaces using Logging @@ -21,4 +23,4 @@ function solve_elasticity_interface!() return 0 end -end \ No newline at end of file +end diff --git a/src/shape_functions.jl b/src/shape_functions.jl index f28250e..ef9b8f0 100644 --- a/src/shape_functions.jl +++ b/src/shape_functions.jl @@ -1,10 +1,13 @@ +# This file is a part of JuliaFEM. +# License is MIT: see https://github.com/JuliaFEM/JuliaFEM.jl/blob/master/LICENSE.md + function test(a) return a*2 end function C2D4(xx) - θ = 1 + theta = 1 chi = xx[1] eta = xx[2] return = [(1 - chi) * (1 - eta), diff --git a/src/xdmf.jl b/src/xdmf.jl index 9126b2e..f285c4c 100644 --- a/src/xdmf.jl +++ b/src/xdmf.jl @@ -1,4 +1,6 @@ -# This file is a part of JuliaFEM. License is MIT: https://github.com/ovainola/JuliaFEM/blob/master/README.md +# This file is a part of JuliaFEM. +# License is MIT: see https://github.com/JuliaFEM/JuliaFEM.jl/blob/master/LICENSE.md + module xdmf using Logging @@ -103,4 +105,4 @@ function xdmf_new_field(grid, name, source, data) end -end \ No newline at end of file +end diff --git a/test/test_elasticity_solver.jl b/test/test_elasticity_solver.jl index 202f67d..74ff918 100644 --- a/test/test_elasticity_solver.jl +++ b/test/test_elasticity_solver.jl @@ -1,3 +1,6 @@ +# This file is a part of JuliaFEM. +# License is MIT: see https://github.com/JuliaFEM/JuliaFEM.jl/blob/master/LICENSE.md + using FactCheck using Logging @Logging.configure(level=INFO) diff --git a/test/test_model.jl b/test/test_model.jl index a8f3acc..4052fc9 100644 --- a/test/test_model.jl +++ b/test/test_model.jl @@ -1,3 +1,6 @@ +# This file is a part of JuliaFEM. +# License is MIT: see https://github.com/JuliaFEM/JuliaFEM.jl/blob/master/LICENSE.md + using FactCheck #using JuliaFEM using Logging diff --git a/test/test_xdmf.jl b/test/test_xdmf.jl index 148d3ec..fd0284f 100644 --- a/test/test_xdmf.jl +++ b/test/test_xdmf.jl @@ -1,3 +1,6 @@ +# This file is a part of JuliaFEM. +# License is MIT: see https://github.com/JuliaFEM/JuliaFEM.jl/blob/master/LICENSE.md + using FactCheck using Logging @Logging.configure(level=INFO)