File: Usmoothguess.m

package info (click to toggle)
octave-secs2d 0.0.8-4
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 700 kB
  • sloc: cpp: 275; makefile: 78; sh: 4
file content (20 lines) | stat: -rw-r--r-- 503 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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));