Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setting IMaskFLAG = 0 causes error #187

Open
dnjohnstone opened this issue Oct 30, 2019 · 2 comments
Open

Setting IMaskFLAG = 0 causes error #187

dnjohnstone opened this issue Oct 30, 2019 · 2 comments

Comments

@dnjohnstone
Copy link

Running the SrTiO3_short sample simulation but setting IMaskFLAG=0 produces the following error.

I thought this may be associated with refinement against data of a different shape and therefore set IRefineModeFLAG=S to try and do simulation only. This continued to produce the same error.

Is this a FLAG incompatibility issue or a bug?

 -----------------------------------------------------------------
 felixrefine: 'Version: master / 1.03 / r.beanland               '
              'Date: 14-Mar-2019                                 '
              'Refinements B,C,D,F,H and S working, no HOLZ      '
 -----------------------------------------------------------------
 total number of MPI ranks  001, screen messages via rank 000
 -----------------------------------------------------------------
 Reflection pool of  600 with a minimum of   50 strong beams
 Material: SrTiO3, P m -3 m
 Simulation only
 Mean inner potential  22.42 Volts
 325 unique structure factors
 Starting absorption calculation...
 Absorption    0 hrs   0 mins   9 sec
 Bloch wave calculation...
 At line 252 of file refinementcontrol_mod.f90
 Fortran runtime error: Index '13041' of dimension 3 of array 'rsimulatedpatterns' outside of expected range (1:13040)

 Error termination. Backtrace:
 #0  0x7fe9ac0718da
 #1  0x7fe9ac072395
#2  0x7fe9ac07273a
#3  0x55c557a1f65e
#4  0x55c557a03fc0
#5  0x55c5579ec69e
#6  0x7fe9abca8b16
#7  0x55c5579ec6c9
#8  0xffffffffffffffff
@RudoRoemer
Copy link
Collaborator

Hi Duncan, thanks for your interest in Felix. Just a dumb question, do you know Richard Beanland and/or have worked with him? What is your level of interest in Felix? I am trying to see if you want to use it together with Richard or separately. Coz if you work with Richard, he would at the moment be best placed to sort this. If you are however, independently of him interested, we might define those "bugs" and jointly solve them.

@dnjohnstone
Copy link
Author

Hi Duncan, thanks for your interest in Felix. Just a dumb question, do you know Richard Beanland and/or have worked with him? What is your level of interest in Felix? I am trying to see if you want to use it together with Richard or separately. Coz if you work with Richard, he would at the moment be best placed to sort this. If you are however, independently of him interested, we might define those "bugs" and jointly solve them.

Hi Rudo, I do know Richard and we've exchanged some e-mails about this but haven't really worked together much yet although I'd certainly be open to that.

Ultimately I want a reliable, open-source Bloch wave forward model to do what I feel should by now be "routine" electron diffraction simulations. Evidently these things are not so routine and open codes have been quite hard to find so Felix is great in this regard.

I'm a little torn between using Felix as compared with, mbfit from Kenji Tsuda, qeda from Christoph Koch, or EMSoft from Marc DeGraef. Felix has the advantages of: (1) being in Fortran, which I mildly prefer to c/cuda, (2) being relatively self contained with good cif file reading rather than its own structure definition, and (3) being fairly lightweight avoiding lots of "other" stuff. On the downside, I am a little concerned by the number of fairly easy to identify "bugs" that are cropping up given the large number of much harder to find potential bugs in things like FFT sign conventions.

I'd like to be able to modify whichever code I do use to do things like simulate electron diffraction from an arbitrary list of crystal orientations (and thicknesses) and include beam rocking (precession). Since a good chunk of my work is in developing a python library for electron diffraction data analysis (https://github.com/pyxem/) I'd also like to wrap whatever we do use in python and distribute it with our "diffsims" package, which at present only supports rather naive kinematical simulation, if everyone were happy with that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants