Skip to content

Different results when using divergence(gradient( . )) instead of laplace( . ) #478

Discussion options

You must be logged in to vote

This is unfortunately a common problem with finite differences. Another problem you might find is that the total mass (the integral of c) is not conserved, although it obviously should be. A workaround could be to split the divergence operator, i.e., use

gradient(M'(c)) @ gradient(mu(c) - lambda * laplace(c))) +  M(c) * laplace(mu(c) - lambda * laplace(c)))

Note that this is not tested, but I hope it transports the idea.

In our research, we encounter similar problems and we have developed solutions, which are unfortunately not yet part of py-pde. If you encountered this problem for your own research, we could talk about a collaboration!

Replies: 1 comment 2 replies

Comment options

You must be logged in to vote
2 replies
@ole-kranzosch
Comment options

@david-zwicker
Comment options

Answer selected by ole-kranzosch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants