Repository navigation
docs(learn): materials, light, multiple-waves and fields chapters in the current API - #126
Merged
Merged
Conversation
Chapter 7, English and Korean, now builds every example with rcwa.Problem, Stack/Layer/Region, Material(epsilon=...), Circle(radius=...) and Numerics(orders=...). The page-level Historical API notice is gone; a note names the current equivalents of the earlier labels in Figure 7-1. The current API needs three corrections to the text: TabulatedMaterial and from_refractive_index take wavelength_unit=, a MaterialResponse from .at() is wrapped in Material(epsilon=..., mu=...) before use, and a table keeps its own wavelength unit while the solver converts to the problem's Units. Every rewritten block was run; the printed outputs are unchanged (film example 0.357473 / 0.016308). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Chapter 8, English and Korean, now uses rcwa.PlaneWave(side=, theta=, phi=, kx=, ky=, polarization=), Layer(epsilon=array[y, x]) for the grating and result.reflection.k_parallel (already in inverse length units). psi/chi are taught as angles converted to an (a_s, a_p) pair, and TE/TM as 's'/'p' at phi=0. The psi=/chi= keywords, the pure 1D tetm declaration and the formal complex-theta R/T sit in earlier-interface blocks. The polarization widget shows the angles in degrees instead of the retired keywords. Every rewritten block was run; the printed outputs are unchanged (kx 0.00677139, R 0.215748, T 0.784252). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Chapter 9, English and Korean, replaces the side-keyed excitation={...} maps
with source tuples, the order map with rcwa.IncidentOrders(weights=...), and
reads power from result.outputs['top'|'bottom']; the Gaussian beam and
electric dipole use the current constructors and result.field(...). The
psi/chi angles, the order map's per-order R/T and the after-solve
boundary_power(region) sit in earlier-interface blocks. A note names the
current equivalents of the earlier labels in Figure 9-1.
Every rewritten block was run; the printed outputs are unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Chapter 14, English and Korean, reads fields with Outputs(fields=True), result.field(x=, y=, z=) and result.boundary_fields(side=, x=, y=, part=). Public H is in A/m, so the magnetic-units and power-density sections now say so, and power is read from result.outputs in W. The pure s/p variants (incidence='s'/'p'), the pure 1D TM magnetic input and the earlier Z0*H result.power formula sit in earlier-interface blocks. Every rewritten block was run. No recorded value changed; the printed array shapes gain the leading wavelength axis the current result carries, e.g. (3, 1, 1, 6) -> (1, 3, 1, 1, 6). Figure 14-2 still draws Z0*H without the wavelength axis, and its caption says so. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tructor Every fundamentals chapter now teaches the current API; the index and overview notes, English and Korean, point at the earlier-interface boxes instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
yonghakim
force-pushed
the
docs/learn-fundamentals-rewrite
branch
from
October 29, 2026 16:20
390c9af to
8df0d65
Compare
yonghakim
marked this pull request as ready for review
October 29, 2026 16:20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rebased on
mainafter #123 landed.What
Course chapters 7 (materials), 8 (incident light), 9 (multiple waves and sources) and 14 (fields), English and Korean, now teach the current
rcwaAPI instead of the retiredwavebit.compatconstructor:rcwa.Problem/Stack/Layer/Region,Material(epsilon=...)in every material slot,Circle(radius=...),Numerics(orders=...)rcwa.Excitation(sources=(...))withPlaneWave,IncidentOrders(weights=...),GaussianBeamandElectricDipoleOutputs(fields=True),result.field(x=, y=, z=),result.boundary_fields(side=, x=, y=, part=), power fromresult.outputsin W, H in A/mPassages with no current equivalent sit in
earlier-interfaceadmonitions (rule indocs/README.md):psi=/chi=keywords, pure 1Dtetm, formal complex-theta R/T, the order map's per-order R/T, after-solveboundary_power(region),incidence='s'/'p'field variants, and the earlierZ0*Hpower formula. The text outside each block gives the current way, where one exists (an(a_s, a_p)pair,'s'/'p'atphi=0, two runs for s and p).The page-level Historical API notices are gone from the four chapters, and the course note in
index.md/overview.mdno longer lists them. The polarization widget's readout shows ψ/χ in degrees instead of the retired keywords.Outputs
Every rewritten example was run. No recorded value changed. The only changed printed lines are the array shapes in chapter 14, which now include the leading wavelength axis the current result has (e.g.
(3, 1, 1, 6)→(1, 3, 1, 1, 6)). The text also needed three corrections for the current API:TabulatedMaterialandfrom_refractive_indextakewavelength_unit=, aMaterialResponsefrom.at()is wrapped inMaterial(...), and a table keeps its own wavelength unit.Checks
python -m sphinx -W -b html -D wavebit_bilingual=1passes for English and for-D language=kotests/api/test_docs_contract.py: 166 passedtools/docs/learning/check_site.pywas run on the built siteNot in this PR
Figures 7-1, 9-1 and 14-2 still carry earlier labels. Each chapter has a note or caption naming the current equivalents; the SVGs need redrawing.
🤖 Generated with Claude Code