Skip to content

Separate implicit/explicit drag treatment #36

@jakelangham

Description

@jakelangham

Currently, all drag laws are time-stepped implicitly. However, this is arguably not needed for non-stiff terms, such as granular friction, which could be handled explicitly. In these cases the implicit solver requires us to divide through by the flux, necessitating desingularisation when speeds are low, which may lead to unwanted error.

Therefore, I suggest we refactor so that only drag terms that are multiples of the flow velocity, such as Chezy drag, are treated implicitly. This would limit the need for desingularisation in the scheme to only the case of low flow depths, which seems much more desirable.

This goes hand in hand with the future need to handle regions that are close to stopping more effectively, since it is mainly relevant for flows that have a 'yield stress'-like nonzero drag when the flow is at rest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions