[Dune-devel] [Dune] A question about solving my problem

Dedner, Andreas A.S.Dedner at warwick.ac.uk
Sat Jun 26 19:35:05 CEST 2021


I didn't say that - I am just saying that you will need to put some work into the nonlinear solver since the problem is not differentiable. But others here are more experts on this.
Andreas
PS: always 'reply to all' to keep things on the list
________________________________
From: Hyun-Geun Shin <shgmath at gmail.com>
Sent: 26 June 2021 18:07
To: Dedner, Andreas <A.S.Dedner at warwick.ac.uk>
Subject: Re: [Dune] A question about solving my problem

Hello

I tried the case of g(u) = |grad(u)| using FreeFem.
FreeFem produces a lot of errors I cannot understand.
Then, I tried g(u) = a+ |grad(u)|, and FreeFem runs with not small a.  a is a constant.
If a is small, FreeFem does not have any errors but it seems not running after several iterations.

The developer said that FreeFem does not support DG formulations enough.
He also said that he is not an expert in DG, so I guess he implemented DG in FreeFem without a deep consideration.
I tried  g(u) = |grad(u)| with classical FEM, and it runs.
Again, the case of g(u) = u^2 with DG formulations does not work.

As you said, I cannot try g(u) = |grad(u)| using DUNE. Am I correct?

Best regards

Hyungeun



2021년 6월 26일 (토) 오후 6:53, Dedner, Andreas <A.S.Dedner at warwick.ac.uk<mailto:A.S.Dedner at warwick.ac.uk>>님이 작성:
Hi.
As Christian said this doesn't look like a too difficult example (except the corner case g(u)=|grad(u)| which will cause problems with the non linear solver).

So, I am wondering which problems you encountered with FreeFem since I would except any standard PDE software package should at least manage the case g(u)=u^2. Are there any additional details about your problem that caused the problems? Is it the a-posteriori adaptivity that made things difficult or the DG formulation of the problem?

Perhaps have a look at
https://dune-project.org/sphinx/content/sphinx/dune-fem/discontinuousgalerkin_nb.html
That's DG for Laplace but adding nonlinearities should be in general straightforward like in
https://dune-project.org/sphinx/content/sphinx/dune-fem/dune-fempy_nb.html

Best
Andreas

________________________________
From: Dune <dune-bounces at lists.dune-project.org<mailto:dune-bounces at lists.dune-project.org>> on behalf of Christian Engwer <christian.engwer at uni-muenster.de<mailto:christian.engwer at uni-muenster.de>>
Sent: 26 June 2021 14:39
To: Hyun-Geun Shin <shgmath at gmail.com<mailto:shgmath at gmail.com>>
Cc: dune at lists.dune-project.org<mailto:dune at lists.dune-project.org> <dune at lists.dune-project.org<mailto:dune at lists.dune-project.org>>
Subject: Re: [Dune] A question about solving my problem

Dear Hyun-Geun,

> My problem is to solve a PDE like -div(g(u) * grad(u)) = f, discretized by
> discontinuous Galerkin methods. Here, u is the solution, g(u) is a nonlinear
> function, and f is a load function. So, g(u) can be “abs(grad(u))” or u^2.

So basically you are trying to solve a non-linear diffusion
problem. This is perfectly possible.

Although it is not part of the usual examples the modifications
regarding the typical poisson problem are not too big. You should be
able to implement this relatively easily with a discretization module
like dune-pdelab, which I'm using, but also dune-fem should provide
the necessary flexibility. The third option would be to do thinkgs a
bit more by hand and use the functions spaces from dune-functions.

Regarding the non-linear solver, a standard Newton method, together
with a Jacobian computed by numerical differentiation should work in
most cases. Still, depending on the type on non-linearity, you might
encounter convergecne issues (which you can still ignore if you don't
care about efficiency).

Ciao
Christian

_______________________________________________
Dune mailing list
Dune at lists.dune-project.org<mailto:Dune at lists.dune-project.org>
https://lists.dune-project.org/mailman/listinfo/dune
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dune-project.org/pipermail/dune-devel/attachments/20210626/8ad4b434/attachment.htm>


More information about the Dune-devel mailing list