Skip to main content

techwiz-skill

Build, modify, troubleshoot, and post-process TechWiz LCD 3D v15 liquid-crystal cylindrical-lens projects, including GRIN/TN/segmented-electrode designs, voltage sweeps, OPD/focal-length/parabolic-error analysis, and step-response analysis. Use for TechWiz .prj/.str/.elt/.stk/.sdb projects and binary LC result files; do not use for unrelated optical solvers or generic LC theory alone.

Aller à l'installation

Informations de source

Dépôt
lq1229477734-sys/optical-design-skill
Dernière activité de la source
23 septembre 2026 à 14:54
Langue détectée de SKILL.md
anglais
Étoiles
9
Forks
1

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
8 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
techwiz-skill
description
Build, modify, troubleshoot, and post-process TechWiz LCD 3D v15 liquid-crystal cylindrical-lens projects, including GRIN/TN/segmented-electrode designs, voltage sweeps, OPD/focal-length/parabolic-error analysis, and step-response analysis. Use for TechWiz .prj/.str/.elt/.stk/.sdb projects and binary LC result files; do not use for unrelated optical solvers or generic LC theory alone.
# TechWiz Skill Produce a traceable TechWiz project, preserve the validated file-format conventions, and separate generated inputs from solver-produced evidence. Communicate in the user's language and always report physical quantities with units. ## Choose the operating mode - For a new or parameterized planar LC cylindrical lens, read [references/configuration.md](references/configuration.md), then use `scripts/new_lc_lens_project.py` with a TechWiz-validated template. - For file-format edits, materials, or GUI mismatch errors, read [references/file_formats.md](references/file_formats.md). - For electrode design choices or comparison with the supplied benchmark cases, read [references/designs_and_results.md](references/designs_and_results.md). Treat those results as case-specific evidence, not universal performance. - For completed LC director results, run `scripts/analyze_lens.py --help` or `scripts/analyze_response.py --help` and inspect their CSV/text outputs. ## Non-negotiable invariants - TechWiz LCD 3D v15 has no verified command-line solver in this workflow. Generate and inspect project files programmatically, but have the user run Mesh Generation and LC/Optical Analysis in TechWiz unless a separately verified automation path is available. - Do not synthesize a `.str` from an undocumented format. Start from a Layout-generated or previously solved template; the included generator changes only the proven planar-lens structure. - Keep units explicit: `.str` coordinates/thicknesses are metres; JSON geometry is µm; `.elt` uses V; `.sdb` uses s/V; `.stk` uses µm/deg; result time tags are ms. - Preserve CRLF for TechWiz text files. Ensure `.prj` rubbing-zone names exactly match `.str` `ZONE NAME` values. - Keep `BOT_COM = DC 0`, exactly one non-DC `Main` electrode, and all polygons belonging to one electrical node inside the same `ELECTRODE` block. - Refuse to overwrite generated project inputs unless the target has been reviewed and the caller explicitly passes `--force`. Never delete solver results as part of generation. - A generated project is not a validated simulation. Record the template, configuration, TechWiz log status, convergence, selected time step, and result files used for every reported result. ## Project workflow 1. Establish requirements: pitch/aperture, LC gap and material tensor, alignment, electrode grouping, wavelength/polarization, drive waveform, mesh, steady-state duration, and metrics. 2. Reuse a TechWiz-opened template compatible with the intended cell. Use the generator only for the supported planar uniform-alignment layout; use Layout's native GDS/TDB → electrode properties → SIM → 3D Structure Generation path for TN or materially different geometry. 3. Generate into a new directory. Diff `.str`, `.elt`, `.prj`, `.stk`, and `.sdb` against the template before opening TechWiz. 4. Ask the user to open the generated `.prj`; run Mesh Generation; verify X/Y periodic boundaries, layer count, material assignment, zone names, and nonzero electrode count. 5. In LC Analysis, verify `BOT_COM`, one `Main` sweep/signal electrode, DC sub-electrodes, time settings, and signal selection. If TechWiz 15 ignores a prewritten `.elt`, re-enter the table and use **Save as… Electrode Information File** to overwrite the intended INPUT file. 6. Inspect the `.log` for mismatch or convergence errors. Do not report low-voltage or unfinished points as valid simply because files exist. 7. Run the postprocessor and report both optical performance and evidence quality. Keep raw results outside the skill repository. ## Verified GUI conventions - Baseline planar-lens mesh: X/Y periodic, `Mesh_Length = 1.5 µm`, `Mesh_Length_Max = 3 µm`, LC 16 layers. These are starting values, not convergence proof; tighten them and compare metrics for new geometries. - A 25 µm cell can require 0.5–1 s to relax. The validated baseline uses `TimeFinal = 1 s`, `TimeStep = 1 ms`; a 30 ms run is generally not steady state. `SWEEP(SATURATION)` may stop early when its criterion is satisfied. - For the uniform planar lens, top and bottom alignment `2°/90°` gives a Y-directed state. For the validated material's input polarizer, `Phi` is the absorption axis: `Phi = 0°` passes Y polarization. Stack order is top-to-bottom, so the input polarizer appears below `LC_Cell` in the file. - For a 90° TN cell, use the verified native-layout workflow and the intended crossed-polarizer stack; do not reuse the uniform-alignment generator without re-deriving alignment and polarization. - Threshold-adjacent points may fail to converge. Treat the threshold as material/geometry dependent; the approximately 1.5 V observation applies only to the supplied benchmark material. ## Post-processing contract `analyze_lens.py` reads `<project>_MESH.dat` and voltage-tagged director files. For Y-polarized normal incidence it uses `1 / n_eff² = n_z² / n_o² + (1 - n_z²) / n_e²` then integrates `OPD(x) = ∫(n_eff - n_o) dz` and fits `OPD = c0 + c2 x²` inside the configured aperture. It reports OPD depth, phase in waves, `f = -1/(2c2)`, normalized parabolic RMSE, OPD RMSE, and centre/edge indices. Confirm this polarization/index model before applying the script to TN, biaxial, oblique-incidence, or polarization-converting cases. `analyze_response.py` uses OPD depth and linear interpolation for 10–90% rise and 90–10% decay. It reads switch times from generated signal metadata or explicit CLI options. Extend the simulated time if the response never reaches the thresholds; do not substitute the final sample for a missing crossing. ## Reporting Include: - project/config/template identity and TechWiz version; - geometry, LC material, alignment, electrode voltages, wavelength/polarization, mesh, and simulated duration; - a table of voltage, final time, OPD depth, phase waves, focal length, and normalized RMSE; - response crossings and averaging windows when applicable; - convergence failures, stale/missing outputs, assumptions, and whether mesh/time convergence was actually tested; - a comparison baseline only when geometry, material, wavelength, aperture, and metric definition are comparable.
Voir sur GitHub