Skip to content

Comments

Add AdvancedMDBC boundary mode with improved ghost-cell corrections#166

Open
AhmedSalih3d wants to merge 15 commits intocodex/refactor-to-avoid-if-statementfrom
codex/evaluate-implementing-advanced-mdbc-option
Open

Add AdvancedMDBC boundary mode with improved ghost-cell corrections#166
AhmedSalih3d wants to merge 15 commits intocodex/refactor-to-avoid-if-statementfrom
codex/evaluate-implementing-advanced-mdbc-option

Conversation

@AhmedSalih3d
Copy link
Owner

Motivation

  • Introduce a richer MDBC boundary treatment that performs extra numerical checks, reconstructs ghost pressures/densities, and enforces a no-slip-like velocity correction while preserving the existing SimpleMDBC path.

Description

  • Add a new AdvancedMDBC subtype of MDBCMode and export it from SimulationMetaDataConfiguration and SPHExample so it can be selected via the SimulationMetaData type parameter.
  • Provide LoadMDBCNormals! overload for AdvancedMDBC in PreProcess.jl to load ghost points and normals just like SimpleMDBC.
  • Implement ComputeInteractionsMDBCAdvanced!, NeighborLoopMDBCAdvanced!, and ApplyMDBCCorrectionAdvanced in src/SPHCellList.jl to accumulate per-ghost matrices/vectors, run numerical checks (determinant/condition thresholds), perform matrix solves or fallback density estimates, clone/adjust pressure with hydrostatic correction, and reflect velocities for a no-slip treatment when sufficient kernel coverage exists.
  • Wire the advanced MDBC flow into the symplectic predictor/corrector path by calling ApplyMDBCBeforeHalf! for AdvancedMDBC before the full time-step (while leaving SimpleMDBC and NoMDBC behavior intact) and document the new option in README.md.

Testing

  • No automated tests were run on these changes.

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant