0

I have solved a pde (second Fick's law with non-uniform diffusivity) using fipy.

I now would like to estimate the diffusion coefficient in one of the layers by fitting solutions of the pde to the measurements.

Do you have any suggestions on how to proceed?

Many thanks in advance!

  • 1
    It's seems like some sort of inverse problem so possibly implement it with an optimizer as the outer loop and the FiPy code in an optimization function along with an error / loss function. Try something from scipy.optimize to care of the outer loop. Maybe post an initial attempt and then it will be easier to help – wd15 Sep 01 '20 at 17:26

1 Answers1

1

Interesting problem. As @wd15 suggests, scipy.optimize has useful routines.

I put together a notebook that combines the example code from scipy.optimize.curve_fit with our steady-state diffusion example with non-uniform-diffusivity in examples.diffusion.mesh1D.

Your GitHub issue may be better for any extended discussion on this problem.

jeguyer
  • 2,379
  • 1
  • 11
  • 15