orGUI film stack building is essentially hardcoded
I run into so many problems because of this, mostly due to the lack of ways to expand without causing more and more bugs.
Rework and Generic recursive stack building
- Split model into multiple components: already done
- Each component must expose requirements:
- estimated size / height / support size
- epitaxy information: layers, compatible epitaxial continuation from each layer
- Additional information that overrides adjacent models (strain coupling / parameter override at an interface.).
- The builder passes this additional info to affected models (e.g. request strain c), who respond with an updated requirement set.
- Recursion back to the next affected models
- hope for conversion....
- All models have a valid set of parameters, so the builder can stack linearly from bulk to surface.
Example
Strain coupling from bulk to film: EpitaxyInterface overrules occupancy and position (c axis strain) of bulk and film dependent on the requested c of film and bulk.
Changing octahedra tilt from bulk to film: EpitaxyInterface (or a specific parameter-propagating subclass of it / this only works for perfectly matching unit cells, that mostly differ by chemical composition not crystal structure) gets requested tilt from bulk and film, owns the probability for how to interpolate between them and then assigns the interpolated parameters to bulk and Film.
Transient interfacial structures EpitaxyInterface could also completely overrule Film and strain by a specific (not just interpolated) relaxation.
orGUI film stack building is essentially hardcoded
I run into so many problems because of this, mostly due to the lack of ways to expand without causing more and more bugs.
Rework and Generic recursive stack building
Example
Strain coupling from bulk to film: EpitaxyInterface overrules occupancy and position (c axis strain) of bulk and film dependent on the requested c of film and bulk.
Changing octahedra tilt from bulk to film: EpitaxyInterface (or a specific parameter-propagating subclass of it / this only works for perfectly matching unit cells, that mostly differ by chemical composition not crystal structure) gets requested tilt from bulk and film, owns the probability for how to interpolate between them and then assigns the interpolated parameters to bulk and Film.
Transient interfacial structures EpitaxyInterface could also completely overrule Film and strain by a specific (not just interpolated) relaxation.