Kernel correction

From reading this forum, I have found why the "Kernel Gradient Correction" is not implemented in the code.

But I have not found the reason for "Kernel Correction".

Can any one describe it to me?



  • The kernel needs to be corrected when this is truncated:
    - close to free-surface
    - at interfaces
    - close to boundaries
    So kernel corrections means basically "normalisation" so Wab / sumWab
  • Thank you Alex!
    But I think this process is not carried out during the solution. Right?
  • edited May 2018
    note that Wab (kernel) is not used during DSPH execution, but derivative of Wab (in momentum and continuity equations)

    kernel is only used in some post-processing tools such as MeasureTool in order to obtain values when sum_wab is more than a minimum value...
    in this way we avoid to obtain magnitudes if the number of neighbours is too low for example and we normalise the kernel if sum_wab>0.5 (by default)
  • Thanks for your fantastic reply!
    In the post processing document, computing the velocity is:

    V_a=sum (V_b*W_ab) / sum (W_ab)

    So, this formulation is the "kernel correction". Right?

    If the sum(W_ab) is less than 0.5, what would happen?
  • So, this formulation is the "kernel correction". Right?

    If the sum(W_ab) is less than 0.5, what would happen?
    Then a DUMMY value will be used.
    Generally we use ZERO (for velocity for example)
    or -9999999 (for pressure)
  • So much thanks. In some references (e.g. Bonet & Lok (1999)) formula of the kernel correction is different. i.e. it contains mass and density.
    See the attached picture.

    Would you mind please explain it more?
  • that is more general in case MASS is variable, in the current code our mass is cte and density has small variations (so that volume has small variations), so the formula we used without the volume is accurate enough
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!