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

Hyun-Geun Shin shgmath at gmail.com
Sat Jun 26 20:34:30 CEST 2021


Can you explain what I may have to do for the nonlinear solver?

My work is not about conducting simulation so I want to avoid programming.
I am trying to keep this work small, and it is just related to a posteriori
error estimation.

Hyungeun


2021년 6월 26일 (토) 오후 7:35, Dedner, Andreas <A.S.Dedner at warwick.ac.uk>님이 작성:

> 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>님이 작성:
>
> 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> on behalf of Christian
> Engwer <christian.engwer at uni-muenster.de>
> *Sent:* 26 June 2021 14:39
> *To:* Hyun-Geun Shin <shgmath at gmail.com>
> *Cc:* dune at lists.dune-project.org <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
> 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/2b7ddc60/attachment.htm>


More information about the Dune-devel mailing list