From: <cd...@us...> - 2012-05-03 20:14:37
|
Revision: 10356 http://octave.svn.sourceforge.net/octave/?rev=10356&view=rev Author: cdf Date: 2012-05-03 17:31:31 +0000 (Thu, 03 May 2012) Log Message: ----------- add test Modified Paths: -------------- trunk/octave-forge/extra/secs3d/inst/Utilities/block_jacobi.m Modified: trunk/octave-forge/extra/secs3d/inst/Utilities/block_jacobi.m =================================================================== --- trunk/octave-forge/extra/secs3d/inst/Utilities/block_jacobi.m 2012-05-03 17:03:10 UTC (rev 10355) +++ trunk/octave-forge/extra/secs3d/inst/Utilities/block_jacobi.m 2012-05-03 17:31:31 UTC (rev 10356) @@ -50,9 +50,21 @@ if (norm (res, inf) < tol); break; endif for ib = 1:nblocks range = first(ib):last(ib); - pres(range) = diag (diag (A(range, range))) \ res(range); + pres(range) = A(range, range) \ res(range); endfor x += pres; endfor - -endfunction \ No newline at end of file + +endfunction + +%!test +%! msh = bim3c_mesh_properties (msh3m_structured_mesh (0:.1:1, 0:.1:1, 0:.1:1, 1, 1:6)); +%! x = msh.p(1, :).'; +%! A = bim3a_advection_diffusion (msh, 1, x); +%! b = bim3a_rhs (msh, 1, 1); +%! dnodes = bim3c_unknowns_on_faces (msh, [1 2]); +%! inodes = setdiff (1:numel(x), dnodes); +%! w = u = zeros (size (x)); +%! u(inodes) = A(inodes, inodes) \ b(inodes); +%! [w(inodes), ~, nit] = block_jacobi (A(inodes, inodes), b(inodes), b(inodes), 5, 400, 1e-9); +%! assert (u, w, 1e-7); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |