Skip to content

PPM advection#419

Merged
adcroft merged 4 commits into
mom-ocean:dev/masterfrom
angus-g:ppm-advection
Feb 13, 2017
Merged

PPM advection#419
adcroft merged 4 commits into
mom-ocean:dev/masterfrom
angus-g:ppm-advection

Conversation

@angus-g
Copy link
Copy Markdown
Collaborator

@angus-g angus-g commented Feb 7, 2017

Here's all that I think is required to implement the PPM reconstruction for tracer advection. We basically use the limited slope from adjacent cells (which was already being calculated for PLM) to determine estimates for interface values, which slightly increases the stencil requirement.

I don't know that adding another boolean flag is the most elegant method of switching between schemes. If there are further reconstructions planned, maybe an ALE-like enum would be more appropriate.

I've also started documentation for tracer advection in a .dox file, as is becoming the norm for the rest of the repository.

There was some code duplication in the implementation of PPM tracer
advection, which was eliminated in favour of adding an additional
conditional check.
This scheme uses slope data from neighbouring cells to calculate the
edge values that are used for constructing the interpolating parabola
within a cell. This differs from the Huynh (PPM:H3) scheme in that the
stencil is larger.
The non-Huyhn advection reconstruction requires a larger stencil to
compute interface values. To ensure the group pass mechanism updates
when the stencil is invalid, we change the stencil value to 3 for this
advection method.
This is an incomplete introduction to the tracer advection algorithm
in MOM6. It tries to cover aspects of the flux advection algorithm,
including numerical considerations, as well as the subcell
reconstruction methods that are used for calculating the actual fluxes.
@adcroft adcroft merged commit eb04b32 into mom-ocean:dev/master Feb 13, 2017
@angus-g angus-g deleted the ppm-advection branch February 14, 2017 13:55
iangrooms pushed a commit to iangrooms/MOM6 that referenced this pull request May 12, 2026
Fix how fluxes sent to MARBL are treated when DT_THERMO is bigger than coupling interval
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