kwr=1; nc=32; np=nc+1; n6x=6*nc; nPg=n6x*nc; addAngle=1; %outpName='tile.newgrid'; outpName='dxC3_dXYa'; inpName='tile.mitgrid'; rDir='/home/jmc/exp/inp_CS_grid/'; %- load angle Cos & Sin: if addAngle == 1, %angFil=['proj_cs',int2str(nc),'_2uEvN.bin']; %angFil=['proj_cs',int2str(nc),'_2uE.bin']; %anCs=rdda(angFil,[nc 6 nc],1,'real*8','b'); %anSn=rdda(angFil,[nc 6 nc],2,'real*8','b'); namR=sprintf('stdAngleCS_cs%i.bin',nc); fprintf(' read files: %s ',namR); anCs=rdda(namR,[nc 6 nc],1,'real*8','b'); namR=sprintf('stdAngleSN_cs%i.bin',nc); fprintf(' , %s\n',namR); anSn=rdda(namR,[nc 6 nc],1,'real*8','b'); %-- anCs=permute(anCs,[1 3 2]); anSn=permute(anSn,[1 3 2]); end for n=1:6, %-- read : namF=sprintf([rDir,inpName(1:4),'%3.3i',inpName(5:end)],n); fid=fopen(namF,'r','b'); vv1=fread(fid,'real*8'); fclose(fid); s=size(vv1,1); k1=s/np/np; fprintf(['read: ',namF,' : size: %i (%ix%ix%i)\n'],s,np,np,k1); vv1=reshape(vv1,[np np k1]); if addAngle == 1, %-- Add angle: k2=k1+2; vv2=zeros(np,np,k2); vv2(:,:,[1:k1])=vv1; vv2([1:nc],[1:nc],k1+1)=anCs(:,:,n); vv2([1:nc],[1:nc],k1+2)=anSn(:,:,n); else %-- do not add angle: vv2=vv1; k2=k1; end %- XC YC DXF DYF RA XG YG DXV DYU RAZ DXC DYC RAW RAS DXG DYG: %------------------------------------------------------------------ %- change 1 dxC (& 1 dyC) just next to the corner: % load dxC,dyC: dxC=vv1(:,:,11); dyC=vv1(:,:,12); %---- %facM=19.; facM=[24.0 -2.5 2.0]; % <- changing factor in o/oo mnV=[dxC(1,1) dxC(2,1) dxC(1,2)]; for q=1:length(facM), if facM(q) ~= 0, nVal=mnV(q)*(1+facM(q)/1000); [I J]=find(dxC==mnV(q)); dxC(find(dxC==mnV(q)))=nVal; fprintf('--> change %i dxC by factor= %9.6f (o/oo) (= %6.1f m)\n', ... length(I),facM(q),nVal-mnV(q)); [I J]=find(dyC==mnV(q)); dyC(find(dyC==mnV(q)))=nVal; fprintf('--> change %i dyC by factor= %9.6f (o/oo) (= %6.1f m)\n', ... length(I),facM(q),nVal-mnV(q)); end end %------------------------------------------------------------------ %- replace dxC,dyC : vv2(:,:,11)=dxC; vv2(:,:,12)=dyC; vv1(:,:,11)=dxC; vv1(:,:,12)=dyC; %--- dxyW=vv1(:,:,11).*vv1(:,:,16); % <- dxC*dyG %- replace rAw <- dxC*dyG vv2(:,:,13)=dxyW; %--- dxyS=vv1(:,:,12).*vv1(:,:,15); % =dyC*dxG %- replace rAs <- dyC*dxG vv2(:,:,14)=dxyS; %-- aWSav=zeros(np,np); aWSav(1:nc,:)=vv2(1:nc,:,13)+vv2(2:np,:,13); aWSav(:,1:nc)=aWSav(:,1:nc)+vv2(:,1:nc,14)+vv2(:,2:np,14); aWSav=aWSav/4; %- replace rAc <- rAw_i + rAs_j / 2 vv2(:,:,5)=aWSav; %--------------------------------- %-- write: if kwr == 1, if addAngle == 1, namW=sprintf([outpName,'.face%3.3i.bin'],n); else p=find(outpName=='.'); namW=sprintf([outpName(1:p-1),'%3.3i',outpName(p:end)],n); end fid=fopen(namW,'w','b'); fwrite(fid,vv2,'real*8'); fclose(fid); fprintf([' write to file: ',namW,' %i 2D.var(%ix%i)\n'],k2,np,np); end end