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

occupancy close to zero #4

Open
pascal22p opened this issue Oct 25, 2018 · 3 comments
Open

occupancy close to zero #4

pascal22p opened this issue Oct 25, 2018 · 3 comments
Assignees

Comments

@pascal22p
Copy link
Member

When the occupancy get close to zero the refinement is extremely unstable

@pascal22p pascal22p self-assigned this Oct 25, 2018
@richardicooper
Copy link
Member

Possible solutions:

  1. Spot problem, report and reset back to 'good' L5.
  2. Stabilize matrix inversion (risks hiding the problem).

@pascal22p
Copy link
Member Author

can't do 2. I think the inversion is stable but the answer is non physical.

It should probably be in a bigger scheme on diverging shifts, when this happens the adps go wild. Maybe something similar to what was there before.

  • check xyz shift so that they don't move more than 20% of the unit cell
  • check new adps Ueq so that is no bigger than something (Ueq could be too expensive)
  • check occupancy, twin fractions and other parameters in a similar way

Revert to previous step when an issue is detected

@richardicooper
Copy link
Member

The derivatives for all the atomic parameters tend to zero as its occupancy tends to zero, so whole rows and columns of the normal matrix will be approx zero. This should show up in the condition number, and eigenvalues of the matrix.

Would be good to have some sensible checks on shifts as they are applied. We did try code that limited shifts as a % of the value, but in some cases (i.e. poor starting model) a big shift is what you want., esp. for Uij and scale parameters.

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