From 4b11357da8227236b2f2c015d55fa308506fa5a1 Mon Sep 17 00:00:00 2001 From: Jukka Aho Date: Tue, 11 Aug 2015 00:29:22 +0300 Subject: [PATCH] Added autodiff version, still not converging... --- ...2015-06-25-elasticity-solver-example.ipynb | 1119 +++++++++++------ 1 file changed, 738 insertions(+), 381 deletions(-) diff --git a/notebooks/2015-06-25-elasticity-solver-example.ipynb b/notebooks/2015-06-25-elasticity-solver-example.ipynb index c999049..57f2e11 100644 --- a/notebooks/2015-06-25-elasticity-solver-example.ipynb +++ b/notebooks/2015-06-25-elasticity-solver-example.ipynb @@ -50,10 +50,32 @@ "execution_count": 1, "metadata": {}, "output_type": "execute_result" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " in depwarn at /Applications/Julia-0.4.0-dev-539c818c4e.app/Contents/Resources/julia/lib/julia/sys.dylib\n", + " in int32 at deprecated.jl:49\n", + " in recv at /Users/jukka/.julia/v0.4/ZMQ/src/ZMQ.jl:617\n", + " in recv_ipython at /Users/jukka/.julia/v0.4/IJulia/src/msg.jl:63\n", + " in eventloop at /Users/jukka/.julia/v0.4/IJulia/src/IJulia.jl:120\n", + " in anonymous at task.jl:365\n", + "while loading /Users/jukka/.julia/v0.4/IJulia/src/kernel.jl, in expression starting on line 35\n", + "WARNING: int32(x) is deprecated, use Int32(x) instead.\n", + " in depwarn at /Applications/Julia-0.4.0-dev-539c818c4e.app/Contents/Resources/julia/lib/julia/sys.dylib\n", + " in int32 at deprecated.jl:49\n", + " in recv at /Users/jukka/.julia/v0.4/ZMQ/src/ZMQ.jl:617\n", + " in recv_ipython at /Users/jukka/.julia/v0.4/IJulia/src/msg.jl:63\n", + " in eventloop at /Users/jukka/.julia/v0.4/IJulia/src/IJulia.jl:120\n", + " in anonymous at task.jl:365\n", + "while loading /Users/jukka/.julia/v0.4/IJulia/src/kernel.jl, in expression starting on line 35\n" + ] } ], "source": [ "using Logging\n", + "using ForwardDiff\n", "Logging.configure(level=DEBUG)" ] }, @@ -119,7 +141,7 @@ "--------\n", "\n", "\"\"\"\n", - "function calc_local_matrices!(X, u, R, K, basis, dbasis, lambda_, mu_, ipoints, iweights)\n", + "function calc_local_matrices2!(X, u, R, K, basis, dbasis, lambda_, mu_, ipoints, iweights)\n", " dim, nnodes = size(X)\n", " I = eye(dim)\n", " R[:,:] = 0.0\n", @@ -161,6 +183,50 @@ " end\n", "\n", " end\n", + "end\n", + "\n", + "\"\"\"\n", + "Autodiff version.\n", + "\"\"\"\n", + "function calc_local_matrices!(X, u, R, K, basis, dbasis, lambda_, mu_, ipoints, iweights)\n", + " dim, nnodes = size(X)\n", + " I = eye(dim)\n", + " R[:,:] = 0.0\n", + "\n", + " #dF = zeros(dim, dim)\n", + "\n", + " function calc_R!(u, R)\n", + " for m = 1:length(iweights)\n", + " w = iweights[m]\n", + " xi = ipoints[m, :]\n", + " # calculate material parameters\n", + " lambda = typeof(lambda_) == Float64 ? lambda_ : dot(lambda_, basis(xi))\n", + " mu = typeof(mu_) == Float64 ? mu_ : dot(mu_, basis(xi))\n", + " Jt = X*dbasis(xi)\n", + " detJ = det(Jt)\n", + " dbasisdX = dbasis(xi)*inv(Jt)\n", + "\n", + " gradu = u*dbasisdX\n", + " F = I + gradu # Deformation gradient\n", + " E = 1/2*(gradu' + gradu + gradu'*gradu) # Green-Lagrange strain tensor\n", + " S = lambda*trace(E)*I + 2*mu*E # PK2 stress tensor\n", + " P = F*S # PK1 stress tensor\n", + "\n", + " R[:,:] += w*P*dbasisdX'*detJ\n", + " end\n", + " end\n", + "\n", + " # herlper for tangent stiffness matrix\n", + " function R!(u, R)\n", + " R[:] = 0\n", + " calc_R!(reshape(u, dim, nnodes), reshape(R, dim, nnodes))\n", + " #calc_Wext!(reshape(u, 2, 4), reshape(R, 2, 4))\n", + " end\n", + " Jacobian = ForwardDiff.forwarddiff_jacobian(R!, Float64, fadtype=:dual, n=dim*nnodes, m=dim*nnodes)\n", + "\n", + " K[:, :] = Jacobian(reshape(u, dim*nnodes))\n", + " R!(reshape(u, 8), reshape(R, dim*nnodes))\n", + "\n", "end" ] }, @@ -189,6 +255,13 @@ "collapsed": false }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING: the `=>` syntax is deprecated, use `-->` instead\n" + ] + }, { "name": "stdout", "output_type": "stream", @@ -200,16 +273,16 @@ "name": "stderr", "output_type": "stream", "text": [ - "10-Aug 19:18:44:DEBUG:root:Converged in 6 iterations.\n", - "10-Aug 19:18:45:DEBUG:root:solution vector: \n", - " [0.0 -0.39914506095474317 -0.07228582695592449 0.0\n", + "11-Aug 00:20:24:DEBUG:root:Converged in 6 iterations.\n", + "11-Aug 00:20:25:DEBUG:root:solution vector: \n", + " [0.0 -0.3991450609547433 -0.07228582695592461 0.0\n", " 0.0 -2.1779892317073504 -2.222244754401764 0.0]\n", - "10-Aug 19:18:45:DEBUG:root:norm of u: 3.1292483947150043\n", - "10-Aug 19:18:45:DEBUG:root:Converged in 6 iterations.\n", - "10-Aug 19:18:45:DEBUG:root:solution vector: \n", - " [0.0 0.7433248532717793 1.0485210147234858 0.0\n", + "11-Aug 00:20:25:DEBUG:root:norm of u: 3.1292483947150047\n", + "11-Aug 00:20:25:DEBUG:root:Converged in 6 iterations.\n", + "11-Aug 00:20:25:DEBUG:root:solution vector: \n", + " [0.0 0.7433248532717796 1.048521014723486 0.0\n", " 0.0 -2.085766534304891 -1.9606633242166027 0.0]\n", - "10-Aug 19:18:45:DEBUG:root:norm of u: 3.129248394715006\n" + "11-Aug 00:20:25:DEBUG:root:norm of u: 3.1292483947150056\n" ] }, { @@ -310,7 +383,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 5, "metadata": { "collapsed": false }, @@ -361,7 +434,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 8, "metadata": { "collapsed": false }, @@ -372,7 +445,7 @@ "get_integration_scheme (generic function with 2 methods)" ] }, - "execution_count": 56, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -452,7 +525,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 9, "metadata": { "collapsed": false }, @@ -463,7 +536,7 @@ "assemble_element! (generic function with 2 methods)" ] }, - "execution_count": 79, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -516,7 +589,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 10, "metadata": { "collapsed": false }, @@ -532,30 +605,43 @@ "name": "stderr", "output_type": "stream", "text": [ - "10-Aug 21:03:06:DEBUG:root:Adding nodes to array\n", - "10-Aug 21:03:06:DEBUG:root:Creating elements\n", - "10-Aug 21:03:06:DEBUG:root:Starting iteration 1\n", - "10-Aug 21:03:06:DEBUG:root:Assembling\n", - "10-Aug 21:03:06:DEBUG:root:Solution norm = 3.090022136728999\n", - "10-Aug 21:03:06:DEBUG:root:Starting iteration 2\n", - "10-Aug 21:03:06:DEBUG:root:Assembling\n", - "10-Aug 21:03:06:DEBUG:root:Solution norm = 0.3212131602153504\n", - "10-Aug 21:03:06:DEBUG:root:Starting iteration 3\n", - "10-Aug 21:03:06:DEBUG:root:Assembling\n", - "10-Aug 21:03:06:DEBUG:root:Solution norm = 0.040431781940005365\n", - "10-Aug 21:03:06:DEBUG:root:Starting iteration 4\n", - "10-Aug 21:03:06:DEBUG:root:Assembling\n", - "10-Aug 21:03:06:DEBUG:root:Solution norm = 0.0009291101052064257\n", - "10-Aug 21:03:06:DEBUG:root:Starting iteration 5\n", - "10-Aug 21:03:06:DEBUG:root:Assembling\n", - "10-Aug 21:03:06:DEBUG:root:Solution norm = 1.5638899025378415e-7\n", - "10-Aug 21:03:06:DEBUG:root:Starting iteration 6\n", - "10-Aug 21:03:06:DEBUG:root:Assembling\n", - "10-Aug 21:03:06:DEBUG:root:Solution norm = 1.0355045356935844e-14\n", - "10-Aug 21:03:06:DEBUG:root:Converged in 6 iterations.\n", - "10-Aug 21:03:06:DEBUG:root:Displacement of element = \n", - "[-0.39914506095474334 -0.07228582695592464 0.0 0.0\n", - " -2.1779892317073504 -2.222244754401764 0.0 0.0]\n" + "11-Aug 00:20:40:DEBUG:root:Adding nodes to array\n", + "11-Aug 00:20:40:DEBUG:root:Creating elements\n", + "11-Aug 00:20:40:DEBUG:root:Starting iteration 1\n", + "11-Aug 00:20:40:DEBUG:root:Assembling\n", + "11-Aug 00:20:40:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n", + "11-Aug 00:20:41:DEBUG:root:Solution norm = 3.090022136728999\n", + "11-Aug 00:20:41:DEBUG:root:Starting iteration 2\n", + "11-Aug 00:20:41:DEBUG:root:Assembling\n", + "11-Aug 00:20:41:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n", + "11-Aug 00:20:41:DEBUG:root:Solution norm = 0.32121316021535135\n", + "11-Aug 00:20:41:DEBUG:root:Starting iteration 3\n", + "11-Aug 00:20:41:DEBUG:root:Assembling\n", + "11-Aug 00:20:41:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n", + "11-Aug 00:20:41:DEBUG:root:Solution norm = 0.040431781939994194\n", + "11-Aug 00:20:41:DEBUG:root:Starting iteration 4\n", + "11-Aug 00:20:41:DEBUG:root:Assembling\n", + "11-Aug 00:20:41:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n", + "11-Aug 00:20:41:DEBUG:root:Solution norm = 0.0009291101052124042\n", + "11-Aug 00:20:41:DEBUG:root:Starting iteration 5\n", + "11-Aug 00:20:41:DEBUG:root:Assembling\n", + "11-Aug 00:20:41:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n", + "11-Aug 00:20:41:DEBUG:root:Solution norm = 1.5638899022213175e-7\n", + "11-Aug 00:20:41:DEBUG:root:Starting iteration 6\n", + "11-Aug 00:20:41:DEBUG:root:Assembling\n", + "11-Aug 00:20:41:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n", + "11-Aug 00:20:41:DEBUG:root:Solution norm = 1.0118539067290854e-14\n", + "11-Aug 00:20:41:DEBUG:root:Converged in 6 iterations.\n", + "11-Aug 00:20:41:DEBUG:root:Displacement of element = \n", + "[-0.39914506095474334 -0.0722858269559246 0.0 0.0\n", + " -2.1779892317073504 -2.2222447544017645 0.0 0.0]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 fact verified.\n" ] }, { @@ -564,16 +650,9 @@ "delayed_handler (generic function with 4 methods)" ] }, - "execution_count": 58, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1 fact verified.\n" - ] } ], "source": [ @@ -646,7 +725,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 11, "metadata": { "collapsed": false }, @@ -660,7 +739,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 12, "metadata": { "collapsed": false, "scrolled": false @@ -677,98 +756,115 @@ "name": "stderr", "output_type": "stream", "text": [ - "10-Aug 22:55:49:DEBUG:root:Creating nodes\n", - "10-Aug 22:55:49:DEBUG:root:Creating elements\n", - "10-Aug 22:55:49:INFO:root:create_ldof2gdofmap: dofs per node: 2\n", - "10-Aug 22:55:49:DEBUG:root:Dict(4=>[7,8],2=>[3,4],3=>[5,6],1=>[1,2])\n", - "10-Aug 22:55:50:INFO:root:solve!: dofs per node: 2\n", - "10-Aug 22:55:50:DEBUG:root:Problem size = 8\n", - "10-Aug 22:55:50:DEBUG:root:Starting iteration 1\n", - "10-Aug 22:55:50:DEBUG:root:Assembling\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n" + "11-Aug 00:20:47:DEBUG:root:Creating nodes\n", + "11-Aug 00:20:47:DEBUG:root:Creating elements\n", + "11-Aug 00:20:47:INFO:root:create_ldof2gdofmap: dofs per node: 2\n", + "11-Aug 00:20:47:DEBUG:root:Dict(4=>[7,8],2=>[3,4],3=>[5,6],1=>[1,2])\n", + "11-Aug 00:20:48:INFO:root:solve!: dofs per node: 2\n", + "11-Aug 00:20:48:DEBUG:root:Problem size = 8\n", + "11-Aug 00:20:48:DEBUG:root:Starting iteration 1\n", + "11-Aug 00:20:48:DEBUG:root:Assembling\n", + "11-Aug 00:20:48:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Element stiffness matrix\n" + "Element stiffness matrix\n", + "Array(Float64,(8,8)) 8x8 Array{Float64,2}:" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "10-Aug 22:55:50:DEBUG:root:Adding Dirichlet boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:dof 5 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 6 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 7 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 8 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:Added 4 Lagrange multipliers to model\n", - "10-Aug 22:55:50:DEBUG:root:Adding Neumann boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:Solving system of equations. Total size = 12\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:Solution norm = 3.0900221367289444\n", - "10-Aug 22:55:50:DEBUG:root:Starting iteration 2\n", - "10-Aug 22:55:50:DEBUG:root:Assembling\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n", - "10-Aug 22:55:50:DEBUG:root:Adding Dirichlet boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:dof 5 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 6 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 7 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 8 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:Added 4 Lagrange multipliers to model\n", - "10-Aug 22:55:50:DEBUG:root:Adding Neumann boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:Solving system of equations. Total size = 12\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:Solution norm = 0.32121316021534363\n", - "10-Aug 22:55:50:DEBUG:root:Starting iteration 3\n", - "10-Aug 22:55:50:DEBUG:root:Assembling\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n", - "10-Aug 22:55:50:DEBUG:root:Adding Dirichlet boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:dof 5 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 6 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 7 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 8 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:Added 4 Lagrange multipliers to model\n", - "10-Aug 22:55:50:DEBUG:root:Adding Neumann boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:Solving system of equations. Total size = 12\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:Solution norm = 0.04043178194002483\n", - "10-Aug 22:55:50:DEBUG:root:Starting iteration 4\n" + "11-Aug 00:20:49:DEBUG:root:Adding Dirichlet boundary conditions\n", + "11-Aug 00:20:49:DEBUG:root:dof 5 => 0.0\n", + "11-Aug 00:20:49:DEBUG:root:dof 6 => 0.0\n", + "11-Aug 00:20:49:DEBUG:root:dof 7 => 0.0\n", + "11-Aug 00:20:49:DEBUG:root:dof 8 => 0.0\n", + "11-Aug 00:20:49:DEBUG:root:Added 4 Lagrange multipliers to model\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " 123.2 -15.0 -118.4 -3.0 -61.6 15.0 56.8 3.0\n", + " -15.0 321.2 3.0 -319.4 15.0 -160.6 -3.0 158.8\n", + " -118.4 3.0 123.2 15.0 56.8 -3.0 -61.6 -15.0\n", + " -3.0 -319.4 15.0 321.2 3.0 158.8 -15.0 -160.6\n", + " -61.6 15.0 56.8 3.0 123.2 -15.0 -118.4 -3.0\n", + " 15.0 -160.6 -3.0 158.8 -15.0 321.2 3.0 -319.4\n", + " 56.8 -3.0 -61.6 -15.0 -118.4 3.0 123.2 15.0\n", + " 3.0 158.8 -15.0 -160.6 -3.0 -319.4 15.0 321.2\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:49:DEBUG:root:Adding Neumann boundary conditions\n", + "11-Aug 00:20:49:DEBUG:root:Solving system of equations. Total size = 12\n", + "11-Aug 00:20:49:DEBUG:root:nothing\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", - " 123.2 -15.0 -118.4 -03.0 -61.6 15.0 56.8 03.0\n", - " -15.0 321.2 03.0 -319.4 15.0 -160.6 -03.0 158.8\n", - " -118.4 03.0 123.2 15.0 56.8 -03.0 -61.6 -15.0\n", - " -03.0 -319.4 15.0 321.2 03.0 158.8 -15.0 -160.6\n", - " -61.6 15.0 56.8 03.0 123.2 -15.0 -118.4 -03.0\n", - " 15.0 -160.6 -03.0 158.8 -15.0 321.2 03.0 -319.4\n", - " 56.8 -03.0 -61.6 -15.0 -118.4 03.0 123.2 15.0\n", - " 03.0 158.8 -15.0 -160.6 -03.0 -319.4 15.0 321.2\n", "Array(Float64,(12,12)) 12x12 Array{Float64,2}:\n", - " 123.2 -15.0 -118.4 -03.0 -61.6 15.0 56.8 03.0 0.0 0.0 0.0 0.0\n", - " -15.0 321.2 03.0 -319.4 15.0 -160.6 -03.0 158.8 0.0 0.0 0.0 0.0\n", - " -118.4 03.0 123.2 15.0 56.8 -03.0 -61.6 -15.0 0.0 0.0 0.0 0.0\n", - " -03.0 -319.4 15.0 321.2 03.0 158.8 -15.0 -160.6 0.0 0.0 0.0 0.0\n", - " -61.6 15.0 56.8 03.0 123.2 -15.0 -118.4 -03.0 1.0 0.0 0.0 0.0\n", - " 15.0 -160.6 -03.0 158.8 -15.0 321.2 03.0 -319.4 0.0 1.0 0.0 0.0\n", - " 56.8 -03.0 -61.6 -15.0 -118.4 03.0 123.2 15.0 0.0 0.0 1.0 0.0\n", - " 03.0 158.8 -15.0 -160.6 -03.0 -319.4 15.0 321.2 0.0 0.0 0.0 1.0\n", + " 123.2 -15.0 -118.4 -3.0 -61.6 15.0 56.8 3.0 0.0 0.0 0.0 0.0\n", + " -15.0 321.2 3.0 -319.4 15.0 -160.6 -3.0 158.8 0.0 0.0 0.0 0.0\n", + " -118.4 3.0 123.2 15.0 56.8 -3.0 -61.6 -15.0 0.0 0.0 0.0 0.0\n", + " -3.0 -319.4 15.0 321.2 3.0 158.8 -15.0 -160.6 0.0 0.0 0.0 0.0\n", + " -61.6 15.0 56.8 3.0 123.2 -15.0 -118.4 -3.0 1.0 0.0 0.0 0.0\n", + " 15.0 -160.6 -3.0 158.8 -15.0 321.2 3.0 -319.4 0.0 1.0 0.0 0.0\n", + " 56.8 -3.0 -61.6 -15.0 -118.4 3.0 123.2 15.0 0.0 0.0 1.0 0.0\n", + " 3.0 158.8 -15.0 -160.6 -3.0 -319.4 15.0 321.2 0.0 0.0 0.0 1.0\n", " 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", " 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0\n", " 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0\n", " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0\n", - "Array(Float64,(1,12)) 1x12 Array{Float64,2}:\n", - " 0.0 0.0 0.0 02.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", + "Array(Float64,(1,12)) 1x12 Array{Float64,2}" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:49:DEBUG:root:nothing\n", + "11-Aug 00:20:49:DEBUG:root:Solution norm = 3.0900221367289444\n", + "11-Aug 00:20:49:DEBUG:root:Starting iteration 2\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + ":\n", + " 0.0 0.0 0.0 2.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:49:DEBUG:root:Assembling\n", + "11-Aug 00:20:49:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n", + "11-Aug 00:20:49:DEBUG:root:Adding Dirichlet boundary conditions\n", + "11-Aug 00:20:49:DEBUG:root:dof 5 => 0.0\n", + "11-Aug 00:20:49:DEBUG:root:dof 6 => 0.0\n", + "11-Aug 00:20:49:DEBUG:root:dof 7 => 0.0\n", + "11-Aug 00:20:49:DEBUG:root:dof 8 => 0.0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Element stiffness matrix\n", "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", " 147.61 36.88 -149.16 -55.03 -66.97 1.91 68.52 16.24\n", @@ -778,22 +874,60 @@ " -66.97 1.81 63.17 16.65 128.11 -15.44 -124.3 -3.03\n", " 1.91 -174.07 10.41 163.39 -15.44 338.21 3.11 -327.53\n", " 68.52 10.06 -74.73 -27.02 -124.3 3.11 130.51 13.85\n", - " 16.24 165.4 -27.06 -159.04 -3.03 -327.53 13.85 321.16\n", + " 16.24 165.4 -27.06 -159.04 -3.03 -327.53 13.85 321.16\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:49:DEBUG:root:Added 4 Lagrange multipliers to model\n", + "11-Aug 00:20:49:DEBUG:root:Adding Neumann boundary conditions\n", + "11-Aug 00:20:49:DEBUG:root:Solving system of equations. Total size = 12\n", + "11-Aug 00:20:49:DEBUG:root:nothing\n", + "11-Aug 00:20:49:DEBUG:root:nothing\n", + "11-Aug 00:20:49:DEBUG:root:Solution norm = 0.3212131602153477\n", + "11-Aug 00:20:49:DEBUG:root:Starting iteration 3\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Array(Float64,(12,12)) 12x12 Array{Float64,2}:\n", " 147.6 36.9 -149.2 -55.0 -67.0 1.9 68.5 16.2 0.0 0.0 0.0 0.0\n", " 36.9 343.1 -48.8 -334.4 1.8 -174.1 10.1 165.4 0.0 0.0 0.0 0.0\n", " -149.2 -48.8 160.7 65.4 63.2 10.4 -74.7 -27.1 0.0 0.0 0.0 0.0\n", " -55.0 -334.4 65.4 330.1 16.7 163.4 -27.0 -159.0 0.0 0.0 0.0 0.0\n", - " -67.0 1.8 63.2 16.7 128.1 -15.4 -124.3 -03.0 1.0 0.0 0.0 0.0\n", + " -67.0 1.8 63.2 16.7 128.1 -15.4 -124.3 -3.0 1.0 0.0 0.0 0.0\n", " 1.9 -174.1 10.4 163.4 -15.4 338.2 3.1 -327.5 0.0 1.0 0.0 0.0\n", " 68.5 10.1 -74.7 -27.0 -124.3 3.1 130.5 13.8 0.0 0.0 1.0 0.0\n", - " 16.2 165.4 -27.1 -159.0 -03.0 -327.5 13.8 321.2 0.0 0.0 0.0 1.0\n", + " 16.2 165.4 -27.1 -159.0 -3.0 -327.5 13.8 321.2 0.0 0.0 0.0 1.0\n", " 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", " 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0\n", " 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0\n", " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0\n", "Array(Float64,(1,12)) 1x12 Array{Float64,2}:\n", - " -2.3 -15.7 05.0 15.2 -20.2 12.2 17.5 -9.6 0.0 0.0 0.0 0.0\n", + " -2.3 -15.7 5.0 15.2 -20.2 12.2 17.5 -9.6 0.0 0.0 0.0 0.0\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:49:DEBUG:root:Assembling\n", + "11-Aug 00:20:49:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n", + "11-Aug 00:20:50:DEBUG:root:Adding Dirichlet boundary conditions\n", + "11-Aug 00:20:50:DEBUG:root:dof 5 => 0.0\n", + "11-Aug 00:20:50:DEBUG:root:dof 6 => 0.0\n", + "11-Aug 00:20:50:DEBUG:root:dof 7 => 0.0\n", + "11-Aug 00:20:50:DEBUG:root:dof 8 => 0.0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Element stiffness matrix\n", "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", " 131.01 35.45 -132.72 -52.73 -60.29 1.77 62.0 15.51\n", @@ -803,7 +937,26 @@ " -60.29 1.71 56.75 16.11 117.72 -14.75 -114.18 -3.07\n", " 1.77 -163.9 10.12 153.51 -14.75 327.07 2.86 -316.69\n", " 62.0 9.58 -67.77 -25.93 -114.18 2.86 119.94 13.49\n", - " 15.51 155.6 -25.93 -149.13 -3.07 -316.69 13.49 310.22\n", + " 15.51 155.6 -25.93 -149.13 -3.07 -316.69 13.49 310.22\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:50:DEBUG:root:Added 4 Lagrange multipliers to model\n", + "11-Aug 00:20:50:DEBUG:root:Adding Neumann boundary conditions\n", + "11-Aug 00:20:50:DEBUG:root:Solving system of equations. Total size = 12\n", + "11-Aug 00:20:50:DEBUG:root:nothing\n", + "11-Aug 00:20:50:DEBUG:root:nothing\n", + "11-Aug 00:20:50:DEBUG:root:Solution norm = 0.04043178194000972\n", + "11-Aug 00:20:50:DEBUG:root:Starting iteration 4\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Array(Float64,(12,12)) 12x12 Array{Float64,2}:\n", " 131.0 35.4 -132.7 -52.7 -60.3 1.8 62.0 15.5 0.0 0.0 0.0 0.0\n", " 35.4 313.8 -46.7 -305.5 1.7 -163.9 9.6 155.6 0.0 0.0 0.0 0.0\n", @@ -825,52 +978,13 @@ "name": "stderr", "output_type": "stream", "text": [ - "10-Aug 22:55:50:DEBUG:root:Assembling\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n", - "10-Aug 22:55:50:DEBUG:root:Adding Dirichlet boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:dof 5 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 6 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 7 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 8 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:Added 4 Lagrange multipliers to model\n", - "10-Aug 22:55:50:DEBUG:root:Adding Neumann boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:Solving system of equations. Total size = 12\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:Solution norm = 0.0009291101052060104\n", - "10-Aug 22:55:50:DEBUG:root:Starting iteration 5\n", - "10-Aug 22:55:50:DEBUG:root:Assembling\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n", - "10-Aug 22:55:50:DEBUG:root:Adding Dirichlet boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:dof 5 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 6 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 7 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 8 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:Added 4 Lagrange multipliers to model\n", - "10-Aug 22:55:50:DEBUG:root:Adding Neumann boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:Solving system of equations. Total size = 12\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:Solution norm = 1.563889898905983e-7\n", - "10-Aug 22:55:50:DEBUG:root:Starting iteration 6\n", - "10-Aug 22:55:50:DEBUG:root:Assembling\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n", - "10-Aug 22:55:50:DEBUG:root:Adding Dirichlet boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:dof 5 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 6 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 7 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 8 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:Added 4 Lagrange multipliers to model\n", - "10-Aug 22:55:50:DEBUG:root:Adding Neumann boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:Solving system of equations. Total size = 12\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:Solution norm = 1.2782462771683917e-14\n", - "10-Aug 22:55:50:DEBUG:root:Converged in 6 iterations.\n", - "10-Aug 22:55:50:DEBUG:root:Displacement of element = \n", - "[-0.3991450609547439 -0.07228582695592495 0.0 0.0\n", - " -2.1779892317073513 -2.2222447544017654 0.0 0.0]\n", - "10-Aug 22:55:50:DEBUG:root:Creating elements\n" + "11-Aug 00:20:50:DEBUG:root:Assembling\n", + "11-Aug 00:20:50:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n", + "11-Aug 00:20:50:DEBUG:root:Adding Dirichlet boundary conditions\n", + "11-Aug 00:20:50:DEBUG:root:dof 5 => 0.0\n", + "11-Aug 00:20:50:DEBUG:root:dof 6 => 0.0\n", + "11-Aug 00:20:50:DEBUG:root:dof 7 => 0.0\n", + "11-Aug 00:20:50:DEBUG:root:dof 8 => 0.0\n" ] }, { @@ -886,7 +1000,26 @@ " -60.05 1.52 56.54 16.27 117.21 -14.68 -113.7 -3.11\n", " 1.58 -163.43 10.29 152.96 -14.68 326.61 2.81 -316.14\n", " 61.86 9.73 -67.63 -26.02 -113.7 2.81 119.47 13.49\n", - " 15.64 155.09 -26.02 -148.53 -3.11 -316.14 13.49 309.58\n", + " 15.64 155.09 -26.02 -148.53 -3.11 -316.14 13.49 309.58\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:50:DEBUG:root:Added 4 Lagrange multipliers to model\n", + "11-Aug 00:20:50:DEBUG:root:Adding Neumann boundary conditions\n", + "11-Aug 00:20:50:DEBUG:root:Solving system of equations. Total size = 12\n", + "11-Aug 00:20:50:DEBUG:root:nothing\n", + "11-Aug 00:20:50:DEBUG:root:nothing\n", + "11-Aug 00:20:50:DEBUG:root:Solution norm = 0.0009291101052125497\n", + "11-Aug 00:20:50:DEBUG:root:Starting iteration 5\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Array(Float64,(12,12)) 12x12 Array{Float64,2}:\n", " 130.7 36.0 -132.5 -53.3 -60.1 1.6 61.9 15.6 0.0 0.0 0.0 0.0\n", " 36.0 312.2 -47.3 -303.9 1.5 -163.4 9.7 155.1 0.0 0.0 0.0 0.0\n", @@ -901,7 +1034,27 @@ " 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0\n", " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0\n", "Array(Float64,(1,12)) 1x12 Array{Float64,2}:\n", - " 0.0 -0.0 -0.0 0.0 -19.9 2.8 19.9 -0.8 0.0 0.0 0.0 0.0\n", + " 0.0 -0.0 -0.0 0.0 -19.9 2.8 19.9 -0.8 0.0 0.0 0.0 0.0\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:50:DEBUG:root:Assembling\n", + "11-Aug 00:20:50:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n", + "11-Aug 00:20:50:DEBUG:root:Adding Dirichlet boundary conditions\n", + "11-Aug 00:20:50:DEBUG:root:dof 5 => 0.0\n", + "11-Aug 00:20:50:DEBUG:root:dof 6 => 0.0\n", + "11-Aug 00:20:50:DEBUG:root:dof 7 => 0.0\n", + "11-Aug 00:20:50:DEBUG:root:dof 8 => 0.0\n", + "11-Aug 00:20:50:DEBUG:root:Added 4 Lagrange multipliers to model\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Element stiffness matrix\n", "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", " 130.66 36.06 -132.47 -53.28 -60.05 1.57 61.86 15.64\n", @@ -911,7 +1064,27 @@ " -60.05 1.51 56.54 16.27 117.21 -14.67 -113.69 -3.11\n", " 1.57 -163.43 10.29 152.96 -14.67 326.61 2.81 -316.14\n", " 61.86 9.73 -67.63 -26.02 -113.69 2.81 119.46 13.49\n", - " 15.64 155.08 -26.02 -148.52 -3.11 -316.14 13.49 309.58\n", + " 15.64 155.08 -26.02 -148.52 -3.11 -316.14 13.49 309.58\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:50:DEBUG:root:Adding Neumann boundary conditions\n", + "11-Aug 00:20:50:DEBUG:root:Solving system of equations. Total size = 12\n", + "11-Aug 00:20:50:DEBUG:root:nothing\n", + "11-Aug 00:20:50:DEBUG:root:nothing\n", + "11-Aug 00:20:50:DEBUG:root:Solution norm = 1.5638898939617795e-7\n", + "11-Aug 00:20:50:DEBUG:root:Starting iteration 6\n", + "11-Aug 00:20:50:DEBUG:root:Assembling\n", + "11-Aug 00:20:50:DEBUG:root:Assemble element to gdofs [1,2,3,4,5,6,7,8]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Array(Float64,(12,12)) 12x12 Array{Float64,2}:\n", " 130.7 36.1 -132.5 -53.3 -60.1 1.6 61.9 15.6 0.0 0.0 0.0 0.0\n", " 36.1 312.2 -47.3 -303.9 1.5 -163.4 9.7 155.1 0.0 0.0 0.0 0.0\n", @@ -927,7 +1100,27 @@ " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0\n", "Array(Float64,(1,12)) 1x12 Array{Float64,2}:\n", " 0.0 -0.0 0.0 0.0 -19.9 2.8 19.9 -0.8 0.0 0.0 0.0 0.0\n", - "Element stiffness matrix\n", + "Element stiffness matrix" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:50:DEBUG:root:Adding Dirichlet boundary conditions\n", + "11-Aug 00:20:50:DEBUG:root:dof 5 => 0.0\n", + "11-Aug 00:20:50:DEBUG:root:dof 6 => 0.0\n", + "11-Aug 00:20:50:DEBUG:root:dof 7 => 0.0\n", + "11-Aug 00:20:50:DEBUG:root:dof 8 => 0.0\n", + "11-Aug 00:20:50:DEBUG:root:Added 4 Lagrange multipliers to model\n", + "11-Aug 00:20:50:DEBUG:root:Adding Neumann boundary conditions\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", " 130.66 36.06 -132.47 -53.28 -60.05 1.57 61.86 15.64\n", " 36.06 312.22 -47.3 -303.88 1.51 -163.43 9.73 155.08\n", @@ -936,7 +1129,27 @@ " -60.05 1.51 56.54 16.27 117.21 -14.67 -113.69 -3.11\n", " 1.57 -163.43 10.29 152.96 -14.67 326.61 2.81 -316.14\n", " 61.86 9.73 -67.63 -26.02 -113.69 2.81 119.46 13.49\n", - " 15.64 155.08 -26.02 -148.52 -3.11 -316.14 13.49 309.58\n", + " 15.64 155.08 -26.02 -148.52 -3.11 -316.14 13.49 309.58\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:50:DEBUG:root:Solving system of equations. Total size = 12\n", + "11-Aug 00:20:50:DEBUG:root:nothing\n", + "11-Aug 00:20:50:DEBUG:root:nothing\n", + "11-Aug 00:20:50:DEBUG:root:Solution norm = 1.0991584038546891e-14\n", + "11-Aug 00:20:50:DEBUG:root:Converged in 6 iterations.\n", + "11-Aug 00:20:51:DEBUG:root:Displacement of element = \n", + "[-0.39914506095474345 -0.07228582695592463 0.0 0.0\n", + " -2.1779892317073504 -2.2222447544017645 0.0 0.0]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Array(Float64,(12,12)) 12x12 Array{Float64,2}:\n", " 130.7 36.1 -132.5 -53.3 -60.1 1.6 61.9 15.6 0.0 0.0 0.0 0.0\n", " 36.1 312.2 -47.3 -303.9 1.5 -163.4 9.7 155.1 0.0 0.0 0.0 0.0\n", @@ -951,7 +1164,7 @@ " 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0\n", " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0\n", "Array(Float64,(1,12)) 1x12 Array{Float64,2}:\n", - " 0.0 -0.0 -0.0 0.0 -19.9 2.8 19.9 -0.8 0.0 0.0 0.0 0.0\n", + " 0.0 0.0 -0.0 -0.0 -19.9 2.8 19.9 -0.8 0.0 0.0 0.0 0.0\n", "1 fact verified.\n", "solve two element problem\n" ] @@ -960,89 +1173,116 @@ "name": "stderr", "output_type": "stream", "text": [ - "10-Aug 22:55:50:INFO:root:create_ldof2gdofmap: dofs per node: 2\n", - "10-Aug 22:55:50:DEBUG:root:Dict(4=>[7,8],2=>[3,4],3=>[5,6],5=>[9,10],6=>[11,12],1=>[1,2])\n", - "10-Aug 22:55:50:INFO:root:solve!: dofs per node: 2\n", - "10-Aug 22:55:50:DEBUG:root:Problem size = 12\n", - "10-Aug 22:55:50:DEBUG:root:Starting iteration 1\n", - "10-Aug 22:55:50:DEBUG:root:Assembling\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [1,2,3,4,9,10,7,8]\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [3,4,5,6,11,12,9,10]\n", - "10-Aug 22:55:50:DEBUG:root:Adding Dirichlet boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:dof 1 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 2 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 7 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 8 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:Added 4 Lagrange multipliers to model\n", - "10-Aug 22:55:50:DEBUG:root:Adding Neumann boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:Solving system of equations. Total size = 16\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:Solution norm = 12.031677381267034\n", - "10-Aug 22:55:50:DEBUG:root:Starting iteration 2\n", - "10-Aug 22:55:50:DEBUG:root:Assembling\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [1,2,3,4,9,10,7,8]\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [3,4,5,6,11,12,9,10]\n", - "10-Aug 22:55:50:DEBUG:root:Adding Dirichlet boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:dof 1 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 2 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 7 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 8 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:Added 4 Lagrange multipliers to model\n", - "10-Aug 22:55:50:DEBUG:root:Adding Neumann boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:Solving system of equations. Total size = 16\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:Solution norm = 8.151050361276255\n", - "10-Aug 22:55:50:DEBUG:root:Starting iteration 3\n", - "10-Aug 22:55:50:DEBUG:root:Assembling\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [1,2,3,4,9,10,7,8]\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [3,4,5,6,11,12,9,10]\n" + "11-Aug 00:20:51:DEBUG:root:Creating elements\n", + "11-Aug 00:20:51:INFO:root:create_ldof2gdofmap: dofs per node: 2\n", + "11-Aug 00:20:51:DEBUG:root:Dict(4=>[7,8],2=>[3,4],3=>[5,6],5=>[9,10],6=>[11,12],1=>[1,2])\n", + "11-Aug 00:20:51:INFO:root:solve!: dofs per node: 2\n", + "11-Aug 00:20:51:DEBUG:root:Problem size = 12\n", + "11-Aug 00:20:51:DEBUG:root:Starting iteration 1\n", + "11-Aug 00:20:51:DEBUG:root:Assembling\n", + "11-Aug 00:20:51:DEBUG:root:Assemble element to gdofs [1,2,3,4,9,10,7,8]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Element stiffness matrix\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:51:DEBUG:root:Assemble element to gdofs [3,4,5,6,11,12,9,10]\n", + "11-Aug 00:20:51:DEBUG:root:Adding Dirichlet boundary conditions\n", + "11-Aug 00:20:51:DEBUG:root:dof 1 => 0.0\n", + "11-Aug 00:20:51:DEBUG:root:dof 2 => 0.0\n", + "11-Aug 00:20:51:DEBUG:root:dof 7 => 0.0\n", + "11-Aug 00:20:51:DEBUG:root:dof 8 => 0.0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", + " 66.4 15.0 23.6 -3.0 -33.2 -15.0 -56.8 3.0\n", + " 15.0 162.4 3.0 77.6 -15.0 -81.2 -3.0 -158.8\n", + " 23.6 3.0 66.4 -15.0 -56.8 -3.0 -33.2 15.0\n", + " -3.0 77.6 -15.0 162.4 3.0 -158.8 15.0 -81.2\n", + " -33.2 -15.0 -56.8 3.0 66.4 15.0 23.6 -3.0\n", + " -15.0 -81.2 -3.0 -158.8 15.0 162.4 3.0 77.6\n", + " -56.8 -3.0 -33.2 15.0 23.6 3.0 66.4 -15.0\n", + " 3.0 -158.8 15.0 -81.2 -3.0 77.6 -15.0 162.4\n", + "Element stiffness matrix\n", + "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", + " 66.4 15.0 23.6 -3.0 -33.2 -15.0 -56.8 3.0\n", + " 15.0 162.4 3.0 77.6 -15.0 -81.2 -3.0 -158.8\n", + " 23.6 3.0 66.4 -15.0 -56.8 -3.0 -33.2 15.0\n", + " -3.0 77.6 -15.0 162.4 3.0 -158.8 15.0 -81.2\n", + " -33.2 -15.0 -56.8 3.0 66.4 15.0 23.6 -3.0\n", + " -15.0 -81.2 -3.0 -158.8 15.0 162.4 3.0 77.6\n", + " -56.8 -3.0 -33.2 15.0 23.6 3.0 66.4 -15.0\n", + " 3.0 -158.8 15.0 -81.2 -3.0 77.6 -15.0 162.4\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:51:DEBUG:root:Added 4 Lagrange multipliers to model\n", + "11-Aug 00:20:51:DEBUG:root:Adding Neumann boundary conditions\n", + "11-Aug 00:20:51:DEBUG:root:Solving system of equations. Total size = 16\n", + "11-Aug 00:20:51:DEBUG:root:nothing\n", + "11-Aug 00:20:51:DEBUG:root:nothing\n", + "11-Aug 00:20:51:DEBUG:root:Solution norm = 12.031677381267034\n", + "11-Aug 00:20:51:DEBUG:root:Starting iteration 2\n", + "11-Aug 00:20:51:DEBUG:root:Assembling\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Array(Float64,(16,16)) 16x16 Array{Float64,2}:\n", + " 66.4 15.0 23.6 -3.0 0.0 0.0 -56.8 3.0 -33.2 -15.0 0.0 0.0 1.0 0.0 0.0 0.0\n", + " 15.0 162.4 3.0 77.6 0.0 0.0 -3.0 -158.8 -15.0 -81.2 0.0 0.0 0.0 1.0 0.0 0.0\n", + " 23.6 3.0 132.8 0.0 23.6 -3.0 -33.2 15.0 -113.6 0.0 -33.2 -15.0 0.0 0.0 0.0 0.0\n", + " -3.0 77.6 0.0 324.8 3.0 77.6 15.0 -81.2 0.0 -317.6 -15.0 -81.2 0.0 0.0 0.0 0.0\n", + " 0.0 0.0 23.6 3.0 66.4 -15.0 0.0 0.0 -33.2 15.0 -56.8 -3.0 0.0 0.0 0.0 0.0\n", + " 0.0 0.0 -3.0 77.6 -15.0 162.4 0.0 0.0 15.0 -81.2 3.0 -158.8 0.0 0.0 0.0 0.0\n", + " -56.8 -3.0 -33.2 15.0 0.0 0.0 66.4 -15.0 23.6 3.0 0.0 0.0 0.0 0.0 1.0 0.0\n", + " 3.0 -158.8 15.0 -81.2 0.0 0.0 -15.0 162.4 -3.0 77.6 0.0 0.0 0.0 0.0 0.0 1.0\n", + " -33.2 -15.0 -113.6 0.0 -33.2 15.0 23.6 -3.0 132.8 0.0 23.6 3.0 0.0 0.0 0.0 0.0\n", + " -15.0 -81.2 0.0 -317.6 15.0 -81.2 3.0 77.6 0.0 324.8 -3.0 77.6 0.0 0.0 0.0 0.0\n", + " 0.0 0.0 -33.2 -15.0 -56.8 3.0 0.0 0.0 23.6 -3.0 66.4 15.0 0.0 0.0 0.0 0.0\n", + " 0.0 0.0 -15.0 -81.2 -3.0 -158.8 0.0 0.0 3.0 77.6 15.0 162.4 0.0 0.0 0.0 0.0\n", + " 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", + " 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", + " 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", + " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", + "Array(Float64,(1,16)) 1x16 Array{Float64,2}:\n", + " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.0 0.0 0.0 0.0 0.0\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:51:DEBUG:root:Assemble element to gdofs [1,2,3,4,9,10,7,8]\n", + "11-Aug 00:20:51:DEBUG:root:Assemble element to gdofs [3,4,5,6,11,12,9,10]\n", + "11-Aug 00:20:51:DEBUG:root:Adding Dirichlet boundary conditions\n", + "11-Aug 00:20:51:DEBUG:root:dof 1 => 0.0\n", + "11-Aug 00:20:51:DEBUG:root:dof 2 => 0.0\n", + "11-Aug 00:20:51:DEBUG:root:dof 7 => 0.0\n", + "11-Aug 00:20:51:DEBUG:root:dof 8 => 0.0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Element stiffness matrix\n", - "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", - " 66.4 15.0 23.6 -03.0 -33.2 -15.0 -56.8 03.0\n", - " 15.0 162.4 03.0 77.6 -15.0 -81.2 -03.0 -158.8\n", - " 23.6 03.0 66.4 -15.0 -56.8 -03.0 -33.2 15.0\n", - " -03.0 77.6 -15.0 162.4 03.0 -158.8 15.0 -81.2\n", - " -33.2 -15.0 -56.8 03.0 66.4 15.0 23.6 -03.0\n", - " -15.0 -81.2 -03.0 -158.8 15.0 162.4 03.0 77.6\n", - " -56.8 -03.0 -33.2 15.0 23.6 03.0 66.4 -15.0\n", - " 03.0 -158.8 15.0 -81.2 -03.0 77.6 -15.0 162.4\n", - "Element stiffness matrix\n", - "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", - " 66.4 15.0 23.6 -03.0 -33.2 -15.0 -56.8 03.0\n", - " 15.0 162.4 03.0 77.6 -15.0 -81.2 -03.0 -158.8\n", - " 23.6 03.0 66.4 -15.0 -56.8 -03.0 -33.2 15.0\n", - " -03.0 77.6 -15.0 162.4 03.0 -158.8 15.0 -81.2\n", - " -33.2 -15.0 -56.8 03.0 66.4 15.0 23.6 -03.0\n", - " -15.0 -81.2 -03.0 -158.8 15.0 162.4 03.0 77.6\n", - " -56.8 -03.0 -33.2 15.0 23.6 03.0 66.4 -15.0\n", - " 03.0 -158.8 15.0 -81.2 -03.0 77.6 -15.0 162.4\n", - "Array(Float64,(16,16)) 16x16 Array{Float64,2}:\n", - " 66.4 15.0 23.6 -03.0 0.0 0.0 -56.8 03.0 -33.2 -15.0 0.0 0.0 1.0 0.0 0.0 0.0\n", - " 15.0 162.4 03.0 77.6 0.0 0.0 -03.0 -158.8 -15.0 -81.2 0.0 0.0 0.0 1.0 0.0 0.0\n", - " 23.6 03.0 132.8 0.0 23.6 -03.0 -33.2 15.0 -113.6 0.0 -33.2 -15.0 0.0 0.0 0.0 0.0\n", - " -03.0 77.6 0.0 324.8 03.0 77.6 15.0 -81.2 0.0 -317.6 -15.0 -81.2 0.0 0.0 0.0 0.0\n", - " 0.0 0.0 23.6 03.0 66.4 -15.0 0.0 0.0 -33.2 15.0 -56.8 -03.0 0.0 0.0 0.0 0.0\n", - " 0.0 0.0 -03.0 77.6 -15.0 162.4 0.0 0.0 15.0 -81.2 03.0 -158.8 0.0 0.0 0.0 0.0\n", - " -56.8 -03.0 -33.2 15.0 0.0 0.0 66.4 -15.0 23.6 03.0 0.0 0.0 0.0 0.0 1.0 0.0\n", - " 03.0 -158.8 15.0 -81.2 0.0 0.0 -15.0 162.4 -03.0 77.6 0.0 0.0 0.0 0.0 0.0 1.0\n", - " -33.2 -15.0 -113.6 0.0 -33.2 15.0 23.6 -03.0 132.8 0.0 23.6 03.0 0.0 0.0 0.0 0.0\n", - " -15.0 -81.2 0.0 -317.6 15.0 -81.2 03.0 77.6 0.0 324.8 -03.0 77.6 0.0 0.0 0.0 0.0\n", - " 0.0 0.0 -33.2 -15.0 -56.8 03.0 0.0 0.0 23.6 -03.0 66.4 15.0 0.0 0.0 0.0 0.0\n", - " 0.0 0.0 -15.0 -81.2 -03.0 -158.8 0.0 0.0 03.0 77.6 15.0 162.4 0.0 0.0 0.0 0.0\n", - " 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", - " 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", - " 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", - " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", - "Array(Float64,(1,16)) 1x16 Array{Float64,2}:\n", - " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 02.0 0.0 0.0 0.0 0.0\n", "Element stiffness matrix\n", "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", " 520.78 72.26 330.9 62.7 -397.04 -45.87 -454.64 -89.09\n", @@ -1062,7 +1302,27 @@ " -397.04 -47.57 -895.33 -183.65 983.14 157.73 309.22 73.49\n", " -45.87 -243.98 -206.2 -617.73 157.73 615.62 94.34 246.08\n", " -454.64 -107.75 -310.49 -90.92 309.22 94.34 455.91 104.34\n", - " -89.09 -472.18 -88.74 -344.68 73.49 246.08 104.34 570.77\n", + " -89.09 -472.18 -88.74 -344.68 73.49 246.08 104.34 570.77\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:51:DEBUG:root:Added 4 Lagrange multipliers to model\n", + "11-Aug 00:20:51:DEBUG:root:Adding Neumann boundary conditions\n", + "11-Aug 00:20:51:DEBUG:root:Solving system of equations. Total size = 16\n", + "11-Aug 00:20:51:DEBUG:root:nothing\n", + "11-Aug 00:20:51:DEBUG:root:nothing\n", + "11-Aug 00:20:51:DEBUG:root:Solution norm = 8.151050361276273\n", + "11-Aug 00:20:51:DEBUG:root:Starting iteration 3\n", + "11-Aug 00:20:51:DEBUG:root:Assembling\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Array(Float64,(16,16)) 16x16 Array{Float64,2}:\n", " 520.8 72.3 330.9 62.7 0.0 0.0 -454.6 -89.1 -397.0 -45.9 0.0 0.0 1.0 0.0 0.0 0.0\n", " 72.3 461.9 83.1 254.3 0.0 0.0 -107.8 -472.2 -47.6 -244.0 0.0 0.0 0.0 1.0 0.0 0.0\n", @@ -1081,7 +1341,26 @@ " 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", "Array(Float64,(1,16)) 1x16 Array{Float64,2}:\n", - " -453.5 -212.6 -1168.0 -759.0 -714.5 -546.4 300.0 466.2 1168.0 759.0 868.1 294.8 0.0 0.0 0.0 0.0\n", + " -453.5 -212.6 -1168.0 -759.0 -714.5 -546.4 300.0 466.2 1168.0 759.0 868.1 294.8 0.0 0.0 0.0 0.0\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:51:DEBUG:root:Assemble element to gdofs [1,2,3,4,9,10,7,8]\n", + "11-Aug 00:20:51:DEBUG:root:Assemble element to gdofs [3,4,5,6,11,12,9,10]\n", + "11-Aug 00:20:51:DEBUG:root:Adding Dirichlet boundary conditions\n", + "11-Aug 00:20:51:DEBUG:root:dof 1 => 0.0\n", + "11-Aug 00:20:51:DEBUG:root:dof 2 => 0.0\n", + "11-Aug 00:20:51:DEBUG:root:dof 7 => 0.0\n", + "11-Aug 00:20:51:DEBUG:root:dof 8 => 0.0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Element stiffness matrix\n", "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", " 43.42 28.69 48.59 17.79 -57.52 -15.59 -34.48 -30.89\n", @@ -1092,57 +1371,7 @@ " -15.59 -22.99 -53.31 -72.78 42.6 67.46 26.29 28.32\n", " -34.48 -35.32 -38.54 -24.51 41.26 26.29 31.77 33.54\n", " -30.89 -62.29 -23.98 -49.53 21.33 28.32 33.54 83.5 \n", - "Element stiffness matrix\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "10-Aug 22:55:50:DEBUG:root:Adding Dirichlet boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:dof 1 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 2 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 7 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 8 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:Added 4 Lagrange multipliers to model\n", - "10-Aug 22:55:50:DEBUG:root:Adding Neumann boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:Solving system of equations. Total size = 16\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:Solution norm = 3.886954756970209\n", - "10-Aug 22:55:50:DEBUG:root:Starting iteration 4\n", - "10-Aug 22:55:50:DEBUG:root:Assembling\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [1,2,3,4,9,10,7,8]\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [3,4,5,6,11,12,9,10]\n", - "10-Aug 22:55:50:DEBUG:root:Adding Dirichlet boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:dof 1 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 2 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 7 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 8 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:Added 4 Lagrange multipliers to model\n", - "10-Aug 22:55:50:DEBUG:root:Adding Neumann boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:Solving system of equations. Total size = 16\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:Solution norm = 2.9651628976855293\n", - "10-Aug 22:55:50:DEBUG:root:Starting iteration 5\n", - "10-Aug 22:55:50:DEBUG:root:Assembling\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [1,2,3,4,9,10,7,8]\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [3,4,5,6,11,12,9,10]\n", - "10-Aug 22:55:50:DEBUG:root:Adding Dirichlet boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:dof 1 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 2 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 7 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 8 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:Added 4 Lagrange multipliers to model\n", - "10-Aug 22:55:50:DEBUG:root:Adding Neumann boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:Solving system of equations. Total size = 16\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Element stiffness matrix\n", "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", " 43.42 28.69 48.59 17.79 -57.52 -15.59 -34.48 -30.89\n", " 28.69 51.46 22.52 33.82 -15.89 -22.99 -35.32 -62.29\n", @@ -1151,7 +1380,26 @@ " -57.52 -15.89 -152.3 -48.04 168.56 42.6 41.26 21.33\n", " -15.59 -22.99 -53.31 -72.78 42.6 67.46 26.29 28.32\n", " -34.48 -35.32 -38.54 -24.51 41.26 26.29 31.77 33.54\n", - " -30.89 -62.29 -23.98 -49.53 21.33 28.32 33.54 83.5 \n", + " -30.89 -62.29 -23.98 -49.53 21.33 28.32 33.54 83.5 \n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:51:DEBUG:root:Added 4 Lagrange multipliers to model\n", + "11-Aug 00:20:51:DEBUG:root:Adding Neumann boundary conditions\n", + "11-Aug 00:20:51:DEBUG:root:Solving system of equations. Total size = 16\n", + "11-Aug 00:20:51:DEBUG:root:nothing\n", + "11-Aug 00:20:52:DEBUG:root:nothing\n", + "11-Aug 00:20:52:DEBUG:root:Solution norm = 3.8869547569703458\n", + "11-Aug 00:20:52:DEBUG:root:Starting iteration 4\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Array(Float64,(16,16)) 16x16 Array{Float64,2}:\n", " 43.4 28.7 48.6 17.8 0.0 0.0 -34.5 -30.9 -57.5 -15.6 0.0 0.0 1.0 0.0 0.0 0.0\n", " 28.7 51.5 22.5 33.8 0.0 0.0 -35.3 -62.3 -15.9 -23.0 0.0 0.0 0.0 1.0 0.0 0.0\n", @@ -1170,7 +1418,27 @@ " 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", "Array(Float64,(1,16)) 1x16 Array{Float64,2}:\n", - " 27.5 08.5 22.1 17.8 -5.4 9.3 -21.6 -15.8 -22.1 -17.8 -0.5 -0.0 0.0 0.0 0.0 0.0\n", + " 27.5 8.5 22.1 17.8 -5.4 9.3 -21.6 -15.8 -22.1 -17.8 -0.5 -0.0 0.0 0.0 0.0 0.0\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:52:DEBUG:root:Assembling\n", + "11-Aug 00:20:52:DEBUG:root:Assemble element to gdofs [1,2,3,4,9,10,7,8]\n", + "11-Aug 00:20:52:DEBUG:root:Assemble element to gdofs [3,4,5,6,11,12,9,10]\n", + "11-Aug 00:20:52:DEBUG:root:Adding Dirichlet boundary conditions\n", + "11-Aug 00:20:52:DEBUG:root:dof 1 => 0.0\n", + "11-Aug 00:20:52:DEBUG:root:dof 2 => 0.0\n", + "11-Aug 00:20:52:DEBUG:root:dof 7 => 0.0\n", + "11-Aug 00:20:52:DEBUG:root:dof 8 => 0.0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Element stiffness matrix\n", "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", " 116.19 1.61 71.4 10.34 -89.72 1.21 -97.86 -13.16\n", @@ -1190,7 +1458,27 @@ " -89.72 0.67 -197.12 -32.77 219.04 18.96 67.81 13.14\n", " 1.21 -49.8 -40.75 -134.57 18.96 135.27 20.58 49.1 \n", " -97.86 -20.01 -65.73 -23.66 67.81 20.58 95.78 23.09\n", - " -13.16 -95.68 -23.07 -81.92 13.14 49.1 23.09 128.5 \n", + " -13.16 -95.68 -23.07 -81.92 13.14 49.1 23.09 128.5 \n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:52:DEBUG:root:Added 4 Lagrange multipliers to model\n", + "11-Aug 00:20:52:DEBUG:root:Adding Neumann boundary conditions\n", + "11-Aug 00:20:52:DEBUG:root:Solving system of equations. Total size = 16\n", + "11-Aug 00:20:52:DEBUG:root:nothing\n", + "11-Aug 00:20:52:DEBUG:root:nothing\n", + "11-Aug 00:20:52:DEBUG:root:Solution norm = 2.9651628976855995\n", + "11-Aug 00:20:52:DEBUG:root:Starting iteration 5\n", + "11-Aug 00:20:52:DEBUG:root:Assembling\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Array(Float64,(16,16)) 16x16 Array{Float64,2}:\n", " 116.2 1.6 71.4 10.3 0.0 0.0 -97.9 -13.2 -89.7 1.2 0.0 0.0 1.0 0.0 0.0 0.0\n", " 1.6 96.2 17.7 49.3 0.0 0.0 -20.0 -95.7 0.7 -49.8 0.0 0.0 0.0 1.0 0.0 0.0\n", @@ -1209,71 +1497,66 @@ " 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", "Array(Float64,(1,16)) 1x16 Array{Float64,2}:\n", - " -02.5 8.8 -27.7 -26.3 -25.2 -35.2 -10.3 26.0 27.7 26.3 38.0 2.3 0.0 0.0 0.0 0.0\n", - "Element stiffness matrix\n", - "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", - " 80.58 18.37 53.97 14.28 -64.27 -7.29 -70.28 -25.36\n", - " 18.37 29.48 19.23 20.58 -7.58 -16.78 -30.02 -33.28\n", - " 53.97 19.23 139.54 47.2 -146.69 -42.11 -46.81 -24.33\n", - " 14.28 20.58 47.2 74.51 -36.82 -59.55 -24.66 -35.54\n", - " -64.27 -7.58 -146.69 -36.82 159.26 28.44 51.7 15.96\n", - " -7.29 -16.78 -42.11 -59.55 28.44 56.47 20.96 19.86\n", - " -70.28 -30.02 -46.81 -24.66 51.7 20.96 65.39 33.72\n", - " -25.36 -33.28 -24.33 -35.54 15.96 19.86 33.72 48.96\n", - "Element stiffness matrix\n", - "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", - " 80.58 18.37 53.97 14.28 -64.27 -7.29 -70.28 -25.36\n", - " 18.37 29.48 19.23 20.58 -7.58 -16.78 -30.02 -33.28\n", - " 53.97 19.23 139.54 47.2 -146.69 -42.11 -46.81 -24.33\n", - " 14.28 20.58 47.2 74.51 -36.82 -59.55 -24.66 -35.54\n", - " -64.27 -7.58 -146.69 -36.82 159.26 28.44 51.7 15.96\n", - " -7.29 -16.78 -42.11 -59.55 28.44 56.47 20.96 19.86\n", - " -70.28 -30.02 -46.81 -24.66 51.7 20.96 65.39 33.72\n", - " -25.36 -33.28 -24.33 -35.54 15.96 19.86 33.72 48.96\n", - "Array(Float64,(16,16)) 16x16 Array{Float64,2}" + " -2.5 8.8 -27.7 -26.3 -25.2 -35.2 -10.3 26.0 27.7 26.3 38.0 2.3 0.0 0.0 0.0 0.0\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:Solution norm = 2.638889456564507\n", - "10-Aug 22:55:50:DEBUG:root:Starting iteration 6\n", - "10-Aug 22:55:50:DEBUG:root:Assembling\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [1,2,3,4,9,10,7,8]\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [3,4,5,6,11,12,9,10]\n", - "10-Aug 22:55:50:DEBUG:root:Adding Dirichlet boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:dof 1 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 2 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 7 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:dof 8 => 0.0\n", - "10-Aug 22:55:50:DEBUG:root:Added 4 Lagrange multipliers to model\n", - "10-Aug 22:55:50:DEBUG:root:Adding Neumann boundary conditions\n", - "10-Aug 22:55:50:DEBUG:root:Solving system of equations. Total size = 16\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:nothing\n", - "10-Aug 22:55:50:DEBUG:root:Solution norm = 2.5846689771724556\n", - "10-Aug 22:55:50:DEBUG:root:Starting iteration 7\n", - "10-Aug 22:55:50:DEBUG:root:Assembling\n", - "10-Aug 22:55:50:DEBUG:root:Assemble element to gdofs [1,2,3,4,9,10,7,8]\n", - "10-Aug 22:55:51:DEBUG:root:Assemble element to gdofs [3,4,5,6,11,12,9,10]\n", - "10-Aug 22:55:51:DEBUG:root:Adding Dirichlet boundary conditions\n", - "10-Aug 22:55:51:DEBUG:root:dof 1 => 0.0\n", - "10-Aug 22:55:51:DEBUG:root:dof 2 => 0.0\n", - "10-Aug 22:55:51:DEBUG:root:dof 7 => 0.0\n", - "10-Aug 22:55:51:DEBUG:root:dof 8 => 0.0\n", - "10-Aug 22:55:51:DEBUG:root:Added 4 Lagrange multipliers to model\n", - "10-Aug 22:55:51:DEBUG:root:Adding Neumann boundary conditions\n", - "10-Aug 22:55:51:DEBUG:root:Solving system of equations. Total size = 16\n" + "11-Aug 00:20:52:DEBUG:root:Assemble element to gdofs [1,2,3,4,9,10,7,8]\n", + "11-Aug 00:20:52:DEBUG:root:Assemble element to gdofs [3,4,5,6,11,12,9,10]\n", + "11-Aug 00:20:52:DEBUG:root:Adding Dirichlet boundary conditions\n", + "11-Aug 00:20:52:DEBUG:root:dof 1 => 0.0\n", + "11-Aug 00:20:52:DEBUG:root:dof 2 => 0.0\n", + "11-Aug 00:20:52:DEBUG:root:dof 7 => 0.0\n", + "11-Aug 00:20:52:DEBUG:root:dof 8 => 0.0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - ":\n", + "Element stiffness matrix\n", + "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", + " 80.58 18.37 53.97 14.28 -64.27 -7.29 -70.28 -25.36\n", + " 18.37 29.48 19.23 20.58 -7.58 -16.78 -30.02 -33.28\n", + " 53.97 19.23 139.54 47.2 -146.69 -42.11 -46.81 -24.33\n", + " 14.28 20.58 47.2 74.51 -36.82 -59.55 -24.66 -35.54\n", + " -64.27 -7.58 -146.69 -36.82 159.26 28.44 51.7 15.96\n", + " -7.29 -16.78 -42.11 -59.55 28.44 56.47 20.96 19.86\n", + " -70.28 -30.02 -46.81 -24.66 51.7 20.96 65.39 33.72\n", + " -25.36 -33.28 -24.33 -35.54 15.96 19.86 33.72 48.96\n", + "Element stiffness matrix\n", + "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", + " 80.58 18.37 53.97 14.28 -64.27 -7.29 -70.28 -25.36\n", + " 18.37 29.48 19.23 20.58 -7.58 -16.78 -30.02 -33.28\n", + " 53.97 19.23 139.54 47.2 -146.69 -42.11 -46.81 -24.33\n", + " 14.28 20.58 47.2 74.51 -36.82 -59.55 -24.66 -35.54\n", + " -64.27 -7.58 -146.69 -36.82 159.26 28.44 51.7 15.96\n", + " -7.29 -16.78 -42.11 -59.55 28.44 56.47 20.96 19.86\n", + " -70.28 -30.02 -46.81 -24.66 51.7 20.96 65.39 33.72\n", + " -25.36 -33.28 -24.33 -35.54 15.96 19.86 33.72 48.96\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:52:DEBUG:root:Added 4 Lagrange multipliers to model\n", + "11-Aug 00:20:52:DEBUG:root:Adding Neumann boundary conditions\n", + "11-Aug 00:20:52:DEBUG:root:Solving system of equations. Total size = 16\n", + "11-Aug 00:20:52:DEBUG:root:nothing\n", + "11-Aug 00:20:52:DEBUG:root:nothing\n", + "11-Aug 00:20:52:DEBUG:root:Solution norm = 2.638889456564558\n", + "11-Aug 00:20:52:DEBUG:root:Starting iteration 6\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Array(Float64,(16,16)) 16x16 Array{Float64,2}:\n", " 80.6 18.4 54.0 14.3 0.0 0.0 -70.3 -25.4 -64.3 -7.3 0.0 0.0 1.0 0.0 0.0 0.0\n", " 18.4 29.5 19.2 20.6 0.0 0.0 -30.0 -33.3 -7.6 -16.8 0.0 0.0 0.0 1.0 0.0 0.0\n", " 54.0 19.2 220.1 65.6 54.0 14.3 -46.8 -24.3 -217.0 -67.5 -64.3 -7.3 0.0 0.0 0.0 0.0\n", @@ -1291,7 +1574,26 @@ " 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", "Array(Float64,(1,16)) 1x16 Array{Float64,2}:\n", - " 28.6 5.9 32.9 14.7 4.3 8.7 -24.6 -14.9 -32.9 -14.7 -8.3 2.2 0.0 0.0 0.0 0.0\n", + " 28.6 5.9 32.9 14.7 4.3 8.7 -24.6 -14.9 -32.9 -14.7 -8.3 2.2 0.0 0.0 0.0 0.0\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:52:DEBUG:root:Assembling\n", + "11-Aug 00:20:52:DEBUG:root:Assemble element to gdofs [1,2,3,4,9,10,7,8]\n", + "11-Aug 00:20:52:DEBUG:root:Assemble element to gdofs [3,4,5,6,11,12,9,10]\n", + "11-Aug 00:20:52:DEBUG:root:Adding Dirichlet boundary conditions\n", + "11-Aug 00:20:52:DEBUG:root:dof 1 => 0.0\n", + "11-Aug 00:20:52:DEBUG:root:dof 2 => 0.0\n", + "11-Aug 00:20:52:DEBUG:root:dof 7 => 0.0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Element stiffness matrix\n", "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", " 138.24 6.59 72.3 13.02 -91.67 -1.46 -118.87 -18.14\n", @@ -1311,7 +1613,26 @@ " -91.67 -1.83 -182.78 -36.21 203.7 23.62 70.75 14.42\n", " -1.46 -47.79 -43.91 -128.01 23.62 126.88 21.75 48.93\n", " -118.87 -25.11 -66.81 -25.42 70.75 21.75 114.93 28.77\n", - " -18.14 -95.3 -25.05 -79.12 14.42 48.93 28.77 125.49\n", + " -18.14 -95.3 -25.05 -79.12 14.42 48.93 28.77 125.49\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:52:DEBUG:root:dof 8 => 0.0\n", + "11-Aug 00:20:52:DEBUG:root:Added 4 Lagrange multipliers to model\n", + "11-Aug 00:20:52:DEBUG:root:Adding Neumann boundary conditions\n", + "11-Aug 00:20:52:DEBUG:root:Solving system of equations. Total size = 16\n", + "11-Aug 00:20:52:DEBUG:root:nothing\n", + "11-Aug 00:20:52:DEBUG:root:nothing\n", + "11-Aug 00:20:52:DEBUG:root:Solution norm = 2.584668977172499\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Array(Float64,(16,16)) 16x16 Array{Float64,2}:\n", " 138.2 6.6 72.3 13.0 0.0 0.0 -118.9 -18.1 -91.7 -1.5 0.0 0.0 1.0 0.0 0.0 0.0\n", " 6.6 95.7 20.3 47.4 0.0 0.0 -25.1 -95.3 -1.8 -47.8 0.0 0.0 0.0 1.0 0.0 0.0\n", @@ -1330,7 +1651,26 @@ " 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", "Array(Float64,(1,16)) 1x16 Array{Float64,2}:\n", - " -06.5 7.6 -25.7 -24.5 -19.1 -32.0 -4.1 20.8 25.7 24.5 29.7 5.7 0.0 0.0 0.0 0.0\n", + " -6.5 7.6 -25.7 -24.5 -19.1 -32.0 -4.1 20.8 25.7 24.5 29.7 5.7 0.0 0.0 0.0 0.0\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:52:DEBUG:root:Starting iteration 7\n", + "11-Aug 00:20:52:DEBUG:root:Assembling\n", + "11-Aug 00:20:52:DEBUG:root:Assemble element to gdofs [1,2,3,4,9,10,7,8]\n", + "11-Aug 00:20:52:DEBUG:root:Assemble element to gdofs [3,4,5,6,11,12,9,10]\n", + "11-Aug 00:20:52:DEBUG:root:Adding Dirichlet boundary conditions\n", + "11-Aug 00:20:53:DEBUG:root:dof 1 => 0.0\n", + "11-Aug 00:20:53:DEBUG:root:dof 2 => 0.0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Element stiffness matrix\n", "Array(Float64,(8,8)) 8x8 Array{Float64,2}:\n", " 105.18 18.96 58.01 14.76 -69.33 -6.94 -93.85 -26.77\n", @@ -1350,7 +1690,25 @@ " -69.33 -7.13 -141.88 -36.07 154.31 27.5 56.9 15.7 \n", " -6.94 -18.68 -41.41 -59.09 27.5 56.13 20.86 21.65\n", " -93.85 -31.72 -51.41 -25.44 56.9 20.86 88.36 36.3 \n", - " -26.77 -39.68 -25.23 -36.91 15.7 21.65 36.3 54.93\n", + " -26.77 -39.68 -25.23 -36.91 15.7 21.65 36.3 54.93\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "11-Aug 00:20:53:DEBUG:root:dof 7 => 0.0\n", + "11-Aug 00:20:53:DEBUG:root:dof 8 => 0.0\n", + "11-Aug 00:20:53:DEBUG:root:Added 4 Lagrange multipliers to model\n", + "11-Aug 00:20:53:DEBUG:root:Adding Neumann boundary conditions\n", + "11-Aug 00:20:53:DEBUG:root:Solving system of equations. Total size = 16\n", + "11-Aug 00:20:53:DEBUG:root:nothing\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Array(Float64,(16,16)) 16x16 Array{Float64,2}:\n", " 105.2 19.0 58.0 14.8 0.0 0.0 -93.9 -26.8 -69.3 -6.9 0.0 0.0 1.0 0.0 0.0 0.0\n", " 19.0 36.9 19.9 21.5 0.0 0.0 -31.7 -39.7 -7.1 -18.7 0.0 0.0 0.0 1.0 0.0 0.0\n", @@ -1362,19 +1720,24 @@ " -26.8 -39.7 -25.2 -36.9 0.0 0.0 36.3 54.9 15.7 21.6 0.0 0.0 0.0 0.0 0.0 1.0\n", " -69.3 -7.1 -235.7 -67.8 -51.4 -25.4 56.9 15.7 242.7 63.8 56.9 20.9 0.0 0.0 0.0 0.0\n", " -6.9 -18.7 -68.2 -98.8 -25.2 -36.9 20.9 21.6 63.8 111.1 15.7 21.6 0.0 0.0 0.0 0.0\n", - " 0.0 " + " 0.0 0.0 -69.3 -7.1 -141.9 -36.1 0.0 0.0 56.9 15.7 154.3 27.5 0.0 0.0 0.0 0.0\n", + " 0.0 0.0 -6.9 -18.7 -41.4 -59.1 0.0 0.0 20.9 21.6 27.5 56.1 0.0 0.0 0.0 0.0\n", + " 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", + " 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", + " 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", + " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", + "Array(Float64,(1,16)) 1x16 Array{Float64,2}" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "10-Aug 22:55:51:DEBUG:root:nothing\n", - "10-Aug 22:55:51:DEBUG:root:nothing\n", - "10-Aug 22:55:51:DEBUG:root:Solution norm = 2.4116101594574446\n", - "10-Aug 22:55:51:DEBUG:root:Displacement of element = \n", - "[-3.0265017801117513 -5.464687844270099 -4.5022205763589715 -2.2188310526354926\n", - " -1.2759688848713764 -6.757003969576785 -7.2218353000897295 -1.8649226742660745]\n" + "11-Aug 00:20:53:DEBUG:root:nothing\n", + "11-Aug 00:20:53:DEBUG:root:Solution norm = 2.411610159457492\n", + "11-Aug 00:20:53:DEBUG:root:Displacement of element = \n", + "[-3.026501780111713 -5.464687844269877 -4.502220576358782 -2.218831052635469\n", + " -1.2759688848714141 -6.757003969576775 -7.221835300089658 -1.8649226742660827]\n" ] }, { @@ -1383,7 +1746,7 @@ "delayed_handler (generic function with 4 methods)" ] }, - "execution_count": 82, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, @@ -1391,14 +1754,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "0.0 -69.3 -7.1 -141.9 -36.1 0.0 0.0 56.9 15.7 154.3 27.5 0.0 0.0 0.0 0.0\n", - " 0.0 0.0 -6.9 -18.7 -41.4 -59.1 0.0 0.0 20.9 21.6 27.5 56.1 0.0 0.0 0.0 0.0\n", - " 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", - " 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", - " 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", - " 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n", - "Array(Float64,(1,16)) 1x16 Array{Float64,2}:\n", - " 22.9 4.1 28.6 11.8 5.6 7.6 -19.5 -12.4 -28.6 -11.8 -09.0 2.6 0.0 0.0 0.0 0.0\n", + ":\n", + " 22.9 4.1 28.6 11.8 5.6 7.6 -19.5 -12.4 -28.6 -11.8 -9.0 2.6 0.0 0.0 0.0 0.0\n", "0 facts verified.\n" ] }