Reorganize JPEC module for IPEC calculations#118
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request reorganizes the JPEC module structure in preparation for IPEC (Ideal Perturbed Equilibrium Code) calculations. The primary changes involve renaming the DCON module to ForceFreeStates and updating the Vacuum module's API to use more descriptive parameter names.
- Renames DCON module to ForceFreeStates throughout the codebase, including struct names (DconControl → ForceFreeStatesControl, DconInternal → ForceFreeStatesInternal)
- Updates Vacuum module API from
set_dcon_params/unset_dcon_paramstoset_surface_params/unset_surface_params - Adds two new stub modules: ForcingTerms (for future external field specifications) and PerturbedEquilibrium (for future GPEC functionality)
Reviewed changes
Copilot reviewed 38 out of 41 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/JPEC.jl | Updates module imports to use ForceFreeStates, ForcingTerms, and PerturbedEquilibrium; includes Main.jl and exports Main function |
| src/Main.jl | Updates all references from DCON to ForceFreeStates in imports and struct instantiation |
| src/ForceFreeStates/ForceFreeStates.jl | Renames module from DCON to ForceFreeStates; removes Main.jl include (moved to JPEC.jl) |
| src/ForceFreeStates/DconStructs.jl | Renames structs from DconControl/DconInternal to ForceFreeStatesControl/ForceFreeStatesInternal |
| src/ForceFreeStates/*.jl | Updates all function signatures and references to use renamed ForceFreeStates structs |
| src/Vacuum/Vacuum.jl | Renames set_dcon_params to set_surface_params and unset_dcon_params to unset_surface_params |
| src/Vacuum/fortran/vacuum_io.f | Updates Fortran subroutine names to match new API naming convention |
| test/*.jl | Updates all test references from DCON to ForceFreeStates |
| examples/*/dcon.toml | Updates TOML section headers from DCON_CONTROL to ForceFreeStates_CONTROL |
| docs/src/*.md | Updates documentation to reference new module and function names |
| CLAUDE.md, README.md | Updates developer documentation to reflect new naming conventions |
Comments suppressed due to low confidence (4)
src/ForceFreeStates/Free.jl:155
- Comment refers to "Internal DCON parameters" but should be updated to "Internal ForceFreeStates parameters" to match the module rename.
src/ForceFreeStates/ForceFreeStates.jl:19 - The file "DconStructs.jl" should be renamed to "ForceFreeStatesStructs.jl" to match the module rename from DCON to ForceFreeStates. The include statement should reference the new filename.
src/ForceFreeStates/ForceFreeStates.jl:3 - Comment still refers to "the DCON module" but the module has been renamed to ForceFreeStates. Update the comment to say "the ForceFreeStates module".
src/Main.jl:16 - Print statement still says "DCON START" but should be updated to reflect the module rename to ForceFreeStates. Consider changing to "ForceFreeStates START" or "Force-Free States Calculation START".
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
cool. I have claude working on gpec implementation too. I'll merge my branch into this one later today and we can split up some action items |
|
This is now superseded by #119, which merged this branch into itself today. @matt-pharr, are you ok closing this PR and reviewing that one instead? |
|
Yes sounds good @logan-nc |
This pull request primarily renames the "DCON" module to "ForceFreeStates" throughout the codebase and documentation, and updates the Vacuum module's API to use more descriptive parameter names. This is primarily in preparation for adding IPEC calculations. Two new stub modules are added; ForcingTerms, meant to replace COIL, which will in the future include all the surfmn-y, coil-y, and specified harmonics-y stuff, and PerturbedEquilibrium, which will contain most of the current GPEC functionality. @logan-nc @jhalpern30 as I expect GPEC to take a while to get fully implemented, I thought it would be good to do this reorganization now so that we can have an easy merge when we get some GPEC code working. I have started working on this, but before I go much further, I would like a green light on this basic restructuring.