Skip to main content

TraTT — transient formation of acoustic Bragg satellites

A travelling acoustic wave enters a perfect crystal. Its steady-state X-ray satellites are textbook material. This repository resolves how the satellites form while the wavefront crosses the crystal, using two-beam Takagi–Taupin theory, and records every step in a lab notebook.

KPS 2026 Fall Meeting, poster P2.17 (Jeju, 22 October 2026). Isaac Yong, Ouyoung Kwon, Hyunjung Kim — Center for Ultrafast Phase Transformation, Sogang University.

KPS 2026 poster P2.17

Results

Schematic: the acoustic front fills the crystal; on the right, the rocking curve of that instant

result notebook
Clock Satellite n diffracts from the filled depth vst with coupling α|Jn(S)|. Laue reads sin²(παnt̃) and Bragg reads tanh²(παnt̃), with no fit parameter. Each order has its own clock, τn = ΛP/(vs|Jn(S)|). Entries 1, 9, 24
Memory A satellite reads the last transit time of the drive, Θn = ∫Jn(S A(t−ζ)) dζ. An order that is forbidden at the final amplitude can be the brightest line during formation. Entries 28, 30
Validity The independent-satellite picture is accurate to 5 % for R = Λac/ΛP ≲ 0.3. Past that, the channels couple through sidebands of the forward beam. Entries 52–54
Outlook The Fourier weight of R(t) is the strain spectrum times a crystal transfer function H(ω), in closed form at first order. It holds inside the Darwin width, where the plane-wave perturbation of Sondhauss & Wark (2003) is off by ×3–8. Entries 59, 64

Filled-depth mapping: full TT (points) against the closed forms (lines) Outlook: one transfer curve; first-order forms against full TT inside the Darwin width

Install

pip install tratt

The package is the solver (src/tratt). Notebooks, figure scripts and the poster build need a clone of this repository.

Setup

uv sync --extra dev
uv run pytest -q                        # 54 tests: analytic limits, Floquet cross-check, formation law
uv run python explore/make_poster_figs.py   # poster figures -> figures/poster/
uv run python poster/build.py               # poster/poster.md -> poster/out/poster.pdf

Layout

src/tratt/      solver package
  core.py         Laue IVP and Bragg Riccati (RK4, vectorised over eta and time; Bragg absorption kappa)
  drive.py        travelling acoustic drive phi(zeta; t): front, rise, amplitude profile
  floquet.py      exact Floquet solver for a uniformly filled crystal (independent cross-check)
  observe.py      channel windows, formation time, peak width
  cube.py         rocking curve over time (I(eta, t) cubes)
  sweep.py        parameter grids
tests/          analytic ground truth as asserts
notes/          lab_notebook.md: every result, with its script and its caveats (Entries 0-64)
explore/nb/     one script per notebook entry (eNN_*.py), with small cached results
explore/        figure scripts; make_poster_figs.py draws the poster figures
poster/         poster.md (the only source of poster text), build.py (layout + checks), fonts
figures/        figures referenced by the notebook and the poster
DESIGN.md       physics conventions, analytic limits, assumptions

Every item on the poster carries a tag pointing to a notebook entry. poster/build.py refuses to pass if a tag points to an entry that does not exist.

Notebooks

explore/*.ipynb are tracked with nbstripout as a git filter (.gitattributes). Outputs are removed at commit time and stay in your working copy. If you move the repository or rebuild the venv, re-register the filter:

uv run nbstripout --install --attributes .gitattributes

Acknowledgement

This work was supported by the National Research Foundation of Korea, grant RS-2021-NR059920.

Metadata

Release files for tratt 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tratt 0.1.0
File Size Uploaded
tratt-0.1.0.tar.gz 29.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tratt 0.1.0
File Interpreter ABI Platform
tratt-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 50.1 kB

Release files / tratt-0.1.0.tar.gz

Download URL tratt-0.1.0.tar.gz
Size 29.5 kB
Tags Source
SHA-256 checksum
How to use checksums
1c4899493c7c91732db1fa9809fb598b26d4c7fda439d74b821214d138b64477
BLAKE2b-256 checksum
How to use checksums
06d8077ee9c7a8a8883b586dac36c82a977150d219abb9baa23317db9c7dc0e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tratt-0.1.0-py3-none-any.whl

Download URL tratt-0.1.0-py3-none-any.whl
Size 20.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2eed37c4ab781a463250098920cba509f4218e1ebd5628e3040bb2ee57e13f25
BLAKE2b-256 checksum
How to use checksums
dc67741f1ba43ca52b0274439fbd8a3b050172e47ccbe1f4dca6ffa36b25abf6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page