Skip to content

Reorganize JPEC module for IPEC calculations#118

Closed
matt-pharr wants to merge 2 commits intodevelopfrom
ipec
Closed

Reorganize JPEC module for IPEC calculations#118
matt-pharr wants to merge 2 commits intodevelopfrom
ipec

Conversation

@matt-pharr
Copy link
Collaborator

@matt-pharr matt-pharr commented Dec 30, 2025

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.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_params to set_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.

@logan-nc
Copy link
Collaborator

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

@logan-nc
Copy link
Collaborator

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?

@matt-pharr
Copy link
Collaborator Author

Yes sounds good @logan-nc

@matt-pharr matt-pharr closed this Dec 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants