X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=octave_packages%2Fsecs2d-0.0.8%2FUtilities%2FUsmoothguess.m;fp=octave_packages%2Fsecs2d-0.0.8%2FUtilities%2FUsmoothguess.m;h=cbe638f55bd44534a2cee87e41b0055f0667eab2;hb=c880e8788dfc484bf23ce13fa2787f2c6bca4863;hp=0000000000000000000000000000000000000000;hpb=1705066eceaaea976f010f669ce8e972f3734b05;p=CreaPhase.git diff --git a/octave_packages/secs2d-0.0.8/Utilities/Usmoothguess.m b/octave_packages/secs2d-0.0.8/Utilities/Usmoothguess.m new file mode 100644 index 0000000..cbe638f --- /dev/null +++ b/octave_packages/secs2d-0.0.8/Utilities/Usmoothguess.m @@ -0,0 +1,20 @@ +function guess = Usmoothguess(mesh,new,old,Dsides); + +% guess = Usmoothguess(mesh,new,old,Dsides); + + if ~isfield("mesh","wjacdet") + mesh = Umeshproperties(mesh); + end + + Nelements = columns(mesh.t); + Nnodes = columns(mesh.p); + + Dnodes = Unodesonside(mesh,Dsides); + varnodes = setdiff([1:Nnodes]',Dnodes); + guess = new; + + A = Ucomplap(mesh,ones(Nelements,1)); + Aie = A(varnodes,Dnodes); + Aii = A(varnodes,varnodes); + + guess(varnodes) = Aii\(-Aie*(new(Dnodes)-old(Dnodes))+Aii*old(varnodes));