Repository navigation
Add singly degenerate Cahn-Hilliard mobility - #306
Draft
mcmehrtens wants to merge 4 commits into
Draft
mcmehrtens wants to merge 4 commits into
mcmehrtens wants to merge 4 commits into
Conversation
This branch has not been deployed
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.
Add opt-in singly degenerate mobility to the standalone Cahn–Hilliard integrator, so it can merge independently of agglomeration and Flame coupling.
Both SDCH methods use conservative face fluxes with arithmetic face mobility and a compatible discrete chemical-potential Laplacian. The spectral method applies an FFT-based discrete biharmonic stabilizer, including Nyquist modes. Constant mobility remains the default; its existing realspace and spectral update functions are unchanged.
Port the reusable Cahn–Hilliard additions from
agglom-ddch-spectral:Reduce the regression matrix from 38 sections to 12: 2D/3D analytic Fourier updates and checkerboard decay, mobility floor and stationary phases, strong-mobility dissipation, and partial spectral AMR coverage. Fold custom names and numerical diagnostic checks into an existing case. The checker reads native and HDF5 plotfiles; the test runner can select HDF5 binaries with
--hdf5. Keep FFT CI coverage in both dimensions.Validation:
--fft --hdf5 --offlinein each ofalamo-llvm,alamo-gcc, andalamo-apple-clang, using the fish helpers and separate compiler build trees.uvwith the latest installed Python, 3.15.1, for Python validation. Checked source equality across build trees, unchanged legacy constant-mobility kernels, andgit diff --check.SDCH requires periodic boundaries. Clipping can change the mean. Realspace AMR does not reflux coarse/fine fluxes. Spectral AMR assembles a full finest-level grid, with corresponding memory costs. These tests do not establish arbitrary-timestep energy dissipation, AMR convergence/restart accuracy, or MPI scaling. Flame/agglomeration equations, masks, restoration, and simulation inputs remain outside this PR.