Plan a triple-axis scan in (Q, E), check whether every point is
reachable within the motor soft-limits, and export a filman
.scn script. No resolution calculation; configuration is entered by hand.
Workflow
- 1. Sample — real-space lattice a,b,c,α,β,γ
and the two orienting reflections u, v that define the scattering plane.
- 2. Spectrometer — fixed ki/kf + value, and the analyzer (PG002/PG004). GPTAS defaults are filled in.
- 3. Soft limits — sample motors C2 (ω) and A2 (2θ). With kf fixed these are what actually bound a scan.
- 4. Scan definition — single line or map (below).
- 5. Evaluate → green = reachable, red × = not, with the reachable region shaded behind (on constant-E h,k views). Generate .scn writes the filman script.
Start / End / Δ — NP is computed
You enter start, end, and step Δ per axis. The number of points is
derived: NP = floor((end − start) / Δ) + 1 on the swept axis (any axis with Δ≠0).
Axes with Δ=0 stay fixed at their start value, so their end field is ignored.
The computed NP is shown live under the grid.
Map types
Maps sweep along the scattering plane directions u, v (the two
orienting reflections), so any plane works — e.g. u=(1 1 0), v=(0 0 1)
is the HHL plane. You give the start point plus an extent + Δ for the
inner and outer sweeps. Default u=(1 0 0), v=(0 1 0) is the usual h×k map.
- Plane u×v (const E) — a grid in the plane: inner sweep runs along
u, repeated for each step along v. The start point must lie in the plane.
- Dispersion (along u/v) ×E — inner sweep is E at constant Q;
the outer shift moves along u or v (pick with “disperse along”).
The plot x-axis is the reduced coordinate ξ along that direction.
Each line becomes one NS= scan; the map runs as a combined GO 1-N.
Auto-fit to reachable region
When ON, points outside the reachable region are dropped and each line is trimmed
to its reachable run (split if a gap is in the middle). The summary then reads
e.g. reachable 62/62 · 43 dropped — the dropped count tells you points were
removed, and they appear as faint red × on the plot. When OFF you get the full rectangle.
Long maps — GO blocks of 40
filman holds at most 40 scan slots per GO. If a map has more lines, the
.scn is split into blocks — each block re-numbers NS=1..40 and ends with its own
GO 1-40 — so the whole map still runs from one file.
Generated .scn
Lattice / spectrometer / RS are assumed set & tuned beforehand and are not written.
Only scan definitions (NS/HS/KS/ES/DE/DH/DK/NP/MN[/NT], comma-separated) and GO are emitted.
filman is in-plane (h,k), so the scan l is ignored (out-of-plane = unreachable).
The header comment prints the AS/BS/CG to set in filman for the current mount
(they follow the plane: AS=|Q(u)|, BS=|Q(v)|, CG=cos∠).
Extras
- Resolution — Cooper–Nathans ellipses at the scan centre (orange = slice, blue = projection); click the plot to probe the resolution anywhere.
- Magnet — window restriction for vertical/horizontal-field magnets (two lobes about the target reflection).
- Spurion check — ⚠ marks points suspect for λ/2·λ/3 harmonics, Currat-Axe processes, or Al/Cu powder rings.
- Experiment plan — collect scans, see the total time, export one combined .scn. Copy link shares the full setup as a URL; Plan sheet prints a one-page summary.
三軸分光器のスキャンを (Q, E) 空間で計画し、各点がモーターのソフトリミット内で到達可能かを確認して、filman の .scn スクリプトを書き出すツールです。分光器条件は手入力です。
使い方の流れ
- 1. 試料 — 実格子 a,b,c,α,β,γ と、散乱面を決める2つの規定反射 u, v。
- 2. 分光器 — 固定側 ki/kf とその値、アナライザ(PG002/PG004)。GPTAS の既定値が入っています。
- 3. ソフトリミット — 試料回転 C2 (ω)。A1(モノクロ2θ)と A2(試料2θ)は内部固定 [18,53]°・[5,110]°。
- 4. スキャン定義 — 単一ライン or マップ(下記)。
- 5. Evaluate → 緑=到達可・赤×=不可。等E面ビューでは到達可能領域を背景に塗ります。Generate .scn で filman スクリプトを生成。
Start / End / Δ — NP は自動計算
各軸に start / end / 刻み Δ を入れると、点数は NP = floor((end − start)/Δ) + 1(Δ≠0 の軸)で決まります。Δ=0 の軸は start に固定(end は無視)。NP は入力欄の下に随時表示されます。
マップの種類
マップは散乱面の方向 u, v(規定反射)に沿って掃くので任意の面で使えます — 例: u=(1 1 0), v=(0 0 1) は HHL 面。開始点と、内側/外側それぞれの extent + Δ を与えます。既定 u=(1 0 0), v=(0 1 0) は通常の h×k マップ。
- Plane u×v (const E) — 面内グリッド: 内側 sweep が u 方向、それを v 方向に1ステップずつずらして繰り返し。開始点は面内に置くこと。
- Dispersion (along u/v) ×E — 内側は定Q の E スキャン、外側は u か v 方向(“disperse along” で選択)。横軸はその方向の換算座標 ξ。
各ラインが1つの NS= スキャンになり、まとめて GO 1-N で実行されます。
到達領域への自動フィット
ON のとき、到達不可能な点は削除され、各ラインは到達可能な区間に切り詰められます(途中に穴があれば分割)。サマリは例えば reachable 62/62 · 43 dropped となり、削除点はプロットに薄い赤×で表示。OFF なら矩形全体を出力します。
長いマップ — 40本ごとの GO ブロック
filman は 1 回の GO に最大 40 スキャン。それを超えるマップは、ブロックごとに NS=1..40 を振り直して各々 GO 1-40 を付けたブロック列として出力されます(1ファイルで全体が流せます)。
生成される .scn
格子・分光器・RS は測定前に設定&調整済みという前提で書き出しません。出力はスキャン定義(NS/HS/KS/ES/DE/DH/DK/NP/MN[/NT]、カンマ区切り)と GO のみ。filman は面内 (H,K) 動作なので、スキャンの l は出ません(面外=到達不可)。ヘッダのコメントに、このマウントで filman に設定すべき AS/BS/CG(面依存: AS=|Q(u)|, BS=|Q(v)|, CG=cos∠)を出力します。
そのほかの機能
- 分解能 — スキャン中心に Cooper–Nathans 楕円(橙=slice, 青=projection)。プロットをクリックするとその場所の分解能も確認できます。
- マグネット — 縦/横磁場マグネットの窓による到達制限(target reflection を中心とする2つのローブ)。
- スプリオン検査 — λ/2·λ/3 高次光・Currat-Axe・Al/Cu 粉末線の疑いのある点に ⚠ を表示。
- Experiment plan — 複数スキャンを溜めて合計時間を確認し、結合した1つの .scn を生成。
- Copy link — 全設定入りの URL をコピー(共同利用者との共有に)。Plan sheet で印刷用1枚シート。