Skip to content
Snippets Groups Projects
Commit d8643219 authored by Laura Nervo's avatar Laura Nervo
Browse files

gtFillCrystFields : Made recommended the calculation of reflections using .csv / .dat files.

                    Moved calculation of symmetry operators from fable or from our code into dedicated sub-functions.

Signed-off-by: default avatarLaura Nervo <laura.nervo@esrf.fr>
parent 424e8795
No related branches found
No related tags found
No related merge requests found
...@@ -95,31 +95,30 @@ while (~phase_ok) ...@@ -95,31 +95,30 @@ while (~phase_ok)
%%%% get information from files or user %%%%% %%%% get information from files or user %%%%%
% Get reflection data % Get reflection data
query = 'Do you want to generate reflection data using FABLE? (recommended) [y/n]';
test = inputwdefault(query, 'y'); query = 'Do you want to load reflection data from .csv or .dat files? (recommended) [y/n]';
test = inputwdefault(query, 'n');
if (ismember(lower(test), {'y', 'yes'})) if (ismember(lower(test), {'y', 'yes'}))
parameters = sfGetReflectionInfoFromFable(parameters, phase_ndx); parameters = sfGetReflectionInfoFromDataFiles(parameters, phase_ndx, xop_dir);
% expand the input data
parameters = sfExpandData(parameters, phase_ndx);
parameters = sfGetSymmCrystInfo(parameters, phase_id);
else else
query = 'Do you want to load reflection data from .csv or .dat files? [y/n]'; query = 'Do you want to generate reflection data using FABLE? [y/n]';
test = inputwdefault(query, 'n'); test = inputwdefault(query, 'y');
if (ismember(lower(test), {'y', 'yes'})) if (ismember(lower(test), {'y', 'yes'}))
parameters = sfGetReflectionInfoFromDataFiles(parameters, phase_ndx, xop_dir); parameters = sfGetReflectionInfoFromFable(parameters, phase_ndx);
parameters = sfGetSymmCrystInfoFromFable(parameters, phase_id);
else else
parameters = sfGetReflectionInfoFromUser(parameters, phase_ndx); parameters = sfGetReflectionInfoFromUser(parameters, phase_ndx);
% expand the input data
parameters = sfExpandData(parameters, phase_ndx);
parameters = sfGetSymmCrystInfo(parameters, phase_id);
end end
% expand the input data
parameters = sfExpandData(parameters, phase_ndx);
end end
end end % not loading parameters file
% symmetry operators from fable calculation
[symm, sg] = gtCrystCalculateSymmetryOperators(phase_ndx, parameters.cryst(phase_ndx).spacegroup, parameters.cryst(phase_ndx).crystal_system);
parameters.cryst(phase_ndx).sg = sg;
parameters.cryst(phase_ndx).symm = symm;
clear symm sg
% Check things look okay % Check things look okay
query = 'Do you want to look at the contents of cryst for this phase? [y/n]'; query = 'Do you want to look at the contents of cryst for this phase? [y/n]';
test = inputwdefault(query, 'y'); test = inputwdefault(query, 'y');
...@@ -276,8 +275,18 @@ function parameters = sfGetReflectionInfoFromFable(parameters, phase_id) ...@@ -276,8 +275,18 @@ function parameters = sfGetReflectionInfoFromFable(parameters, phase_id)
parameters.cryst(phase_id) = gtAddMatFile(parameters.cryst(phase_id), list, true, false, false, false, false); parameters.cryst(phase_id) = gtAddMatFile(parameters.cryst(phase_id), list, true, false, false, false, false);
clear list clear list
end% end of sfGetReflectionInfoFromFable
end % end of sfGetReflectionInfoFromFable function parameters = sfGetSymmCrystInfoFromFable(parameters, phase_id)
% symmetry operators from fable calculation
[symm_unique, symm_all] = gtCrystCalculateSymmetryOperators(phase_id, parameters.cryst(phase_id).spacegroup, parameters.cryst(phase_id).crystal_system);
parameters.cryst(phase_id).symm_unique = symm_unique;
parameters.cryst(phase_id).symm_all = symm_all;
clear symm_unique symm_all
end % end of sfGetSymmCrystInfoFromFable
function parameters = sfGetReflectionInfoFromUser(parameters, phase_id) function parameters = sfGetReflectionInfoFromUser(parameters, phase_id)
% get info interactively % get info interactively
...@@ -333,11 +342,16 @@ function parameters = sfExpandData(parameters, phase_id) ...@@ -333,11 +342,16 @@ function parameters = sfExpandData(parameters, phase_id)
hklsymmetry = gtSymmetricReflections(parameters.cryst(phase_id), parameters.acq.energy); hklsymmetry = gtSymmetricReflections(parameters.cryst(phase_id), parameters.acq.energy);
parameters.cryst(phase_id) = gtAddMatFile(parameters.cryst(phase_id), hklsymmetry, true, true, false); parameters.cryst(phase_id) = gtAddMatFile(parameters.cryst(phase_id), hklsymmetry, true, true, false);
clear hklsymmetry; clear hklsymmetry;
end % end of sfExpandData
function parameters = sfGetSymmCrystInfo(parameters, phase_id)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Calculating symmetry operators % Calculating symmetry operators
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
parameters.cryst(phase_id).symm = gtCrystGetSymmetryOperators(parameters.cryst(phase_id).crystal_system); parameters.cryst(phase_id).symm = gtCrystGetSymmetryOperators(parameters.cryst(phase_id).crystal_system);
end % end of sfExpandData end % end of sfGetSymmCrystInfo
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment