function[ffdb2] = compactdiffcabfdoctb2(VVb2,hb21); % function to generate values of ffd using compact difference scheme % calling sequence % [ffd] = compactdiffcabfdoct(V,hd1) % define variables % V1 -- function V1 generated at different points x1 by using function % h21 -- h1*h1 ( where h is discretization interval ) h1 = 2/(n1-1) % a -- coeff for boundaries % b -- coeff for boundaries % c -- coefffor boundaries % d -- coeff for boundaries % e -- coeff for boundaries % alpha -- compact diff coeff % alpha1 -- compact diff coeff % A -- coeff forother points % A1 -- coeff for other points % B -- coeff for other points % C -- coeff for other points % f -- R.H.S of equation Ax = B % N1 -- number of points of space discretization % ii -- index variable % record of revisions % date Programmer Description of changes % June 1, 2007 Asha G original code % July 18, 08 Asha G rewritten for first derivative % March 8,08 Asha G rewritten for cabranbact13oct % June 5,13 Asha G vectorised for loop % declare global values global N %pack ('compactdiffcabfdoctb2') alphafd = 1/3; %lele eqn 2.1.7 %alpha1 = 1/10; alpha1fd = 1/4; % lele eqn 2.1.6 alphafdb = 2; % lele fig.6(e) beta = 0; % for boundaries % eqn 4.1.3 afd = -(11 + 2*alphafdb)/6; bfd = (6-alphafdb)/2; cfd = (2*alphafdb -3)/2; %dfd = (2-alphafdb)/6; dfd = 0; % lele fig.6(e) % for other points: Afd = 14/9; %A1 = (4/3)* (1-(alpha1)); A1fd = (2/3)*(alpha1fd + 2); Bfd = 1/9; C = 0; ffdb2 = zeros(1,N); %for ii = 3:(N-2) % x = ((Bfd*(VVb2(ii+2)-VVb2(ii-2)))./(4*hb21))+ (Afd*(VVb2(ii+1)-VVb2(ii-1)))./(2*hb21); %endfor %ffdb2 = x; ii = 3:(N-2); ffdb2(ii) = ((Bfd*(VVb2(ii+2)-VVb2(ii-2)))./(4*hb21)) + (Afd*(VVb2(ii+1)-VVb2(ii-1)))./(2*hb21); ffdb2(1) = (afd*VVb2(1)+bfd*VVb2(2)+cfd*VVb2(3)+dfd*VVb2(4))./hb21; ffdb2(N) = -(afd*VVb2(N)+ bfd*VVb2(N-1)+cfd*VVb2(N-2)+dfd*VVb2(N-3))./hb21; ffdb2(2) =( A1fd*(VVb2(3)-VVb2(1)))./(2*hb21); ffdb2(N-1)=(A1fd*(VVb2(N)-VVb2(N-2)))./(2*hb21); endfunction % function compactdiffcabfdoctb2