pace-neutrons / Horace

Horace is a suite of programs for the visualization and analysis of large datasets from time-of-flight neutron inelastic scattering spectrometers.
https://pace-neutrons.github.io/Horace/stable/
GNU General Public License v3.0
7 stars 4 forks source link

Extreamly slow symetrisation run on iDaaaS #687

Closed abuts closed 3 years ago

abuts commented 3 years ago

User complains about rel 3.5 currently on iDaaaS

Hi Alex,

We have a user on MAPS who is experiencing problems with symmetrising the data set as part of the gen_sqw process. I can’t see any problems with what he is doing. He says it is taking forever. Can you look over it and see whether there is a particular problem. Could it be to do with the MPI?

Thanks,

Helen


clear all;

data_path='/instrument/MAPS/CYCLE20211/RB2010464/';%directory where data files are

data_path1='/instrument/MAPS/CYCLE20211/RB2010464/horace_code/';%directory where sqw files go

par_file='';

efix=50;%Ei

sqw_file=[data_path1,'Ei50meV_5K.sqw'];

psi=[6:2:40];%values of sample orientation psi for each run

runno=[41666:41683];%array of run numbers - must be array same size as psi

emode=1;%direct geometry spectrometer

alatt=[7.42,7.42,7.42];%lattice parameters

angdeg=[90,90,90];%lattice angles

u=[1,1,0]; v=[0,0,1];%scattering plane (u//ki when psi=0, v perp ki)

omega=0; dpsi=0; gl=0; gs=0;

for i=1:numel(psi)

spefile{i}=[data_path,'map',num2str(runno(i)),'_ei',num2str(efix),'_meV.nxspe'];%construct cell array of nxspe file names

end

gen_sqw (spefile, par_file, sqw_file, efix, emode, alatt, angdeg,...

u, v, psi, omega, dpsi, gl, gs, 'transform_sqw', @(x)(cubic_sym_ol(x)));

%

function wout = cubic_sym_ol(win)

wout=symmetrise_sqw(win,[1,1,0],[0,0,1],[0,0,0]);

% wout=symmetrise_sqw(wout,[-1,1,0],[0,0,1],[0,0,0]);

% wout=symmetrise_sqw(wout,[1,0,1],[0,1,0],[0,0,0]);

% wout=symmetrise_sqw(wout,[1,0,-1],[0,1,0],[0,0,0]);

From: Yi Luo yluo13@jhu.edu Sent: 19 May 2021 01:26 To: Krajewska, Aleksandra (STFC,RAL,ISIS) Aleksandra.Krajewska@stfc.ac.uk; Collin Broholm broholm@jhu.edu Cc: Walker, Helen (STFC,RAL,ISIS) helen.c.walker@stfc.ac.uk Subject: 回复: YbB12 RB2010464

Hi Aleks,

I see the beam and scans have recovered. I assume we will talk again at 11:00 am (BST) tomorrow (6:00 am EST), here is the zoom link

https://JHUBlueJays.zoom.us/j/96527859000?pwd=VjkzY3dlRkNHUHBJSDBZWFdGRHFtZz09

let me know if there should be some delay due to the delay of the beam.

I think we need to figure out the proper way to do symmetrization. My previous experience is to apply all the mirror symmetry when generating the sqw file, as introduced in http://horace.isis.rl.ac.uk/Symmetrising_etc, but it takes too long on iDAaaS (I was unable to finish it for even 10 runs and one symmetry specified), there could be some errors here, I wonder if your colleague could show me how to do it this way. A typical situation where I get stuck is attached.

Notice the symmetrization must be done on the entire data set, if we take a cut/slice then use "symmetrise_sqw" it would just symmetrize within that cut/slice, it does not know how to find data in the corresponding q in the whole data set. And it will take a large memory to read in the whole sqw and do the symmetrization, that's why I found it easier to do it during the generation. Also, I never figure out how to do rotation and inversion symmetrization on Horace, we contacted Dr. Toby Perrings once but did not hear back.

Best regards,

Yi Luo

cmarooney-stfc commented 3 years ago

@abuts Noting that commit is directly to the release branch. Presuming that the ticket remains open for a less "simple and crude" fix in master. Could this fix be put into master so we don't accidentally release it without any fix.