Functional forms¶
Depth laws attached to DepthProfile. Any _FieldBase form (Spline,
Polynomial, Diffusion, SecondOrderTransition, CallableField, …) can
drive any supported channel — not only Mix volume fraction \(\phi\) or
orientation \(\gamma\) / \(\langle\cos^2\gamma\rangle\).
Channels¶
| Channel kwargs | Typical use |
|---|---|
phi |
Volume fraction of materials[0] in a Mix |
gamma, cos2_gamma |
Orientation / order parameter on a uniaxial material |
density |
Density scale on the material |
delta_o, delta_e, beta_o, beta_e |
Free laboratory optical diagonals (no Mix required) |
Attach the same form class to different kwargs:
# Mix composition
DepthProfile(material=Mix([mat_a, mat_b], rule="linear"), thickness=200.0, phi=field)
# Free optical diagonals (δ + iβ packing)
DepthProfile(
material=mat,
thickness=240.0,
delta_o=field_o,
delta_e=field_e,
beta_o=4e-4,
beta_e=6e-4,
)
Depth panels annotate the controlling constants. Figure builders live in
build_figures.py; conventions are on
the Building structures overview.
For interfacial orientation / composition transitions see Phase transitions. For Fick couple / exponential profiles see Diffusion.
Pages¶
| Page | Role |
|---|---|
| Splines | Knotted \(\phi(z)\) (order / knot count) and free \(\delta_o\)/\(\delta_e\) Splines |
| Polynomials | Polynomial \(\phi(z)\) and free \(\delta_o\)/\(\delta_e\) channels |
| Callable profiles | User CallableField / CallableDepthProfile escape hatches |
Shared preamble:
from refloxide.model import MaterialSLD, FreeUniTensor, Mix, ReflectModel
from refloxide.profiles import (
Diffusion,
SecondOrderTransition,
DepthProfile,
Spline,
Polynomial,
CallableField,
CallableDepthProfile,
)
vac = MaterialSLD("", 0, name="vacuum")(0, 0)
si = MaterialSLD("Si", 2.33, name="si")(0, 3.0)
mat = FreeUniTensor(energies=[284.4], name="film")
mat_a = FreeUniTensor(energies=[284.4], name="a")
mat_b = FreeUniTensor(energies=[284.4], name="b")
mat_c = FreeUniTensor(energies=[284.4], name="c")
Typical Mix composition pattern: