Incoherent Poisson surface / roughness model - #86
Merged
Merged
Conversation
Three defects would have produced wrong or breaking code: the height state index, one retention mask serving two policies, and redefining CTROptimizer.startp.
The symbol p_n meant both the coherent exposed fractions and the normalized ensemble masses; the coherent ones are now q_n. Also fixes the Film prefix range and the mode definition.
evaluateStatistics hardcoded the resolution prefix and skipped every callback, so the crystal received the callback's error slice.
The bodies written so far restate their own diffs. Records the subject, 0-3 line body and footer convention, to be applied by rebase while the branch is still unpushed.
Records the flat-height decomposition the incoherent models are defined against, against independently stacked Films that never touch PoissonSurface.
F is now a thin wrapper over evaluate_kinematic, so incoherent models reuse the shared bulk and Film amplitudes instead of re-evaluating them. Verified bitwise identical to the previous F over 58 fixtures.
flat_domain_corrections returns the occupancy-one correction of each retained height, streaming one amplitude at a time. Coherent assembly and the height-state ensemble now select from shared candidates.
Wrappers present the existing fit API with their own parameters ahead of the wrapped crystal's, and mix complete coherent state amplitudes. The registry lets a saved type name resolve without importing a class path.
Mixes the complete crystal amplitude of each retained flat height, so bulk-surface interference stays inside every domain. The coherent endpoint is the cached coherent result, not a state-sum reconstruction.
Resolution now acts on F2 before the square root, and an incoherent wrapper is accepted through the existing model argument. optimizer.xtal stays the coherent crystal, so callbacks and constraints are unchanged.
Separates F, F2, r, R and detector counts along the CTR path. Config restore now names the settings which failed to construct the model.
An overlayer is placed once at the mean surface height and never moves while the height states stream, so it belongs in the common amplitude exactly as the coherent model already treats it.
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds empirically mixed incoherent and coherent Poisson roughness.
Fully incoherent means that the intensity / F**2 of multiple perfectly flat films / surfaces with different height are incoherently added.