Repository navigation
Vacuum - API! - Make no wall an absent Wall section with per-shape WallSettings - #530
jhalpern30 wants to merge 3 commits into
Conversation
…llSettings No wall is now nothing rather than shape = "nowall": the [Wall] section is omitted from the deck, and the wall settings, vacuum geometry and HDF5 wall point cloud no longer carry placeholder data. A [Wall] section names a shape and only that shape's parameters, validated at parse time. Wall shapes are one WallSettings type each (ConformalWall, EllipticalWall, DeeWall, ModDeeWall, FileWall). Co-authored-by: Cursor <cursoragent@cursor.com>
|
This pull request is missing a reviewer. If you are not ready to name them, mark this pull request as a draft. |
1 similar comment
|
This pull request is missing a reviewer. If you are not ready to name them, mark this pull request as a draft. |
Co-authored-by: Cursor <cursoragent@cursor.com>
…ng required ones Co-authored-by: Cursor <cursoragent@cursor.com>
|
@matt-pharr / @logan-nc would you approve of a change like this making it in before v2.0? I realized the other day when figuring out how to do FUSE integration the way we do walls in the TOML is annoying. This change is essentially:
What I'm asking here is basically - I think this is a good change and would be an annoying fix down the line for backwards compatibility since it changes inputs, but is it worth the time to review and merge while other more important changes might demand more attention? Note that the code as-is is all AI - I would take the time to clean it up for an actual review if this is deemed worth it |
|
Sure, I am fine with this. Better to get the API where we want it now than to wait. Please just make sure the website docs clearly lay out what parameters are needed for each available wall type. The main motivation of having the section with the nowall type was to make it easy for a user to inherit a nowall toml and turn on the wall. If it's missing, they'll need good docs instructing them how to add a wall. |
|
Be sure to assign a reviewer when marking as not a draft |
Release note
developvs. branch comparison of the DIII-D ideal example gave bit-identical values for every HDF5 dataset except the wall point cloud)[Wall]section from no-wall decks. In decks that keep a wall, drop parameters the shape does not use (e.g.aw,bw,cw,dw,twunderconformal), and write file walls asshape = "file"withfile = "wall.dat".No wall is now spelled by omitting
[Wall]instead ofshape = "nowall". A[Wall]section names a shape and only that shape's parameters, and keys the shape does not use are ignored with a warning. A missing required parameter, such asfilefor a file wall, is an error. In no-wall runs,SurfaceGeometries/Wall/{x,y,z}is now empty rather than points at the origin.Regression report
Not yet run. To do before merge (commit already pushed):
Notes for reviewers
nothingeverywhere (ForceFreeStatesInternal.wall_settings,EulerLagrangeProblem.wall,compute_vacuum_response(inputs, nothing)), matchingmatch::Union{Nothing,ResistiveMatch}. Thenowall::Boolfields onWallGeometry/WallGeometry3Dare gone.WallShapeSettingsis replaced byWallSettingswith one type per shape (ConformalWall,EllipticalWall,DeeWall,ModDeeWall,FileWall).parse_wallis the single deck-to-wall entry point and replaces the copied(Symbol(k) => v ...)lines.if shape == ...chain inWallGeometrybecamewall_contourmethods. Contours are bit-identical todevelopfor all four built-in shapes, with and withoutequal_arc_wall.WallGeometry(plasma_surf, wall)no longer takesinputs; it only suppliedmtheta, which is alreadylength(plasma_surf.x).nfp > 1on an axisymmetric boundary guard moved fromWallGeometry3Dinto the 3D vacuum solve, so it also covers no-wall runs.benchmarks/andtest/runtests_parallel_integration.jl, which is the expected first-edit churn.