Skip to content

Minor coding error in infiltrationproblem Celia_MPM #1

@Huite

Description

@Huite

Hi @amireson,

I've benchmarking some ODE solvers in Julia, and I found that your paper "A simple, efficient, mass-conservative approach to solving Richards' equation (openRE, v1.0)" provides a nice approach as well as a nice set of benchmarks.

In reproducing some of the results, I noticed that the Celia solution for the infiltration problem is overly diffusive. This is especially apparent for the drainage plot in figure 7 of the paper, but it's something I couldn't reproduce.

Image

The issue appears to be a coding error in the residual function:

x3=-Kmid[1:]*(psigrid[2:]-psigrid[1:-1])
x4=Kmid[:-1]*(psigrid[1:-1]-psigrid[:-2])

These terms are missing division by dz; e.g. your implementation of the Miller benchmark does contain them:

x3=-Kmid[1:]*(psigrid[2:]-psigrid[1:-1])/dz
x4=Kmid[:-1]*(psigrid[1:-1]-psigrid[:-2])/dz

Inserting /dz here, re-running the benchmark, shows a solution which is still a bit diffusive due to the large fixed time step, but which is much closer to the ATS and Hydrus solutions (we can now recognize the same individual bumps):

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions