Advertisement
Guest User

Untitled

a guest
Jun 17th, 2013
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.44 KB | None | 0 0
  1. function [zeta,gradzeta] = myzeta(h,r)
  2.  
  3. q=abs(r)/h;
  4.  
  5. if(q>=2.0)    
  6.     zeta = 0.0;
  7.     gradzeta = 0.0;
  8. else
  9.     fact = 1/h; % normalization factor
  10.     dqdr = r/(h*abs(r));
  11.  
  12.     if(q>1.0)
  13.         zeta = 1./6.*fact*(2.0-q)*(2.0-q)*(2.0-q);
  14.         gradzeta =  -dqdr*fact*0.5*(2.0-q)*(2.0-q);  
  15.     else
  16.         zeta = 2./3. * fact * (1.0 - 3./2.*q*q + 3./4.*q*q*q);
  17.         gradzeta = dqdr*2./3. * fact*(-3.0*q + 9./4.*q*q);
  18.     end
  19. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement