[petsc-users] Strongly nonlinear equation solved within the framework of PETSc

Fatcharm wolfshow at gmail.com
Thu Dec 29 08:10:07 CST 2011


2011/12/28, petsc-users-request at mcs.anl.gov <petsc-users-request at mcs.anl.gov>:
> Send petsc-users mailing list submissions to
> 	petsc-users at mcs.anl.gov
>
> To subscribe or unsubscribe via the World Wide Web, visit
> 	https://lists.mcs.anl.gov/mailman/listinfo/petsc-users
> or, via email, send a message with subject or body 'help' to
> 	petsc-users-request at mcs.anl.gov
>
> You can reach the person managing the list at
> 	petsc-users-owner at mcs.anl.gov
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of petsc-users digest..."
>
>
> Today's Topics:
>
>    1. Re:  Strongly nonlinear equation solved within the framework
>       of PETSc (Jed Brown)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 27 Dec 2011 22:01:15 -0600
> From: Jed Brown <jedbrown at mcs.anl.gov>
> Subject: Re: [petsc-users] Strongly nonlinear equation solved within
> 	the framework of PETSc
> To: PETSc users list <petsc-users at mcs.anl.gov>
> Message-ID:
> 	<CAM9tzSnvqS5zci5AHmZHzidnLt0LAeXKFsQgZ9O+uLMX7mtr=g at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> On Tue, Dec 27, 2011 at 19:58, Feng-Chao Wang <wolfshow at gmail.com> wrote:
>
>> **
>> Dear all,
>>
>> I want to numerically solve a strongly nonlinear fourth-order equation
>> (2-D), which is used to describe the dynamics of a liquid film.
>> please find the form of the equation below or in the attachment, The
>> thickness of the film,  H(X,Y,T) is the function to be solved, C, G, A0
>> are
>> constant parameters.
>>
>>
>> I wrote a PETSc programs for this problem, using CN method in time.
>> However, it does not work well. In some cases, there are some
>> negativevalues in the solution (Obviously, the thickness of the liquid
>> film
>> could not be negative.) While in some other cases, the solution remains as
>> the initial condition, looking like the governing equation doesn't work at
>> all.
>>
>
> 1. Make sure that the equations are actually being solved, for instance
> with -snes_monitor -snes_converged_reason -ksp_converged_reason.
>
Dear Jed,

Follow your suggestions, I examined my problem. For the cases that the
equations are not being solved, I got these message:

timestep 0: time 0, solution norm 10.201, max 0.00195106, min 4.89435e-05
    0 SNES Function norm 2.772465906990e+07
    Linear solve did not converge due to DIVERGED_DTOL iterations 3270
  Nonlinear solve did not converge due to DIVERGED_LINEAR_SOLVE
timestep 1: time 0.0001, solution norm 10.201, max 0.00195106, min 4.89435e-05
    0 SNES Function norm 2.772465906990e+07
    Linear solve did not converge due to DIVERGED_DTOL iterations 3270
  Nonlinear solve did not converge due to DIVERGED_LINEAR_SOLVE
timestep 2: time 0.0002, solution norm 10.201, max 0.00195106, min 4.89435e-05
    0 SNES Function norm 2.772465906990e+07
    Linear solve did not converge due to DIVERGED_DTOL iterations 3270
  Nonlinear solve did not converge due to DIVERGED_LINEAR_SOLVE


We can see that the SNES Function norm is extremely large. I think it
is because that the initial value for the unknown function H(X,T) is
quite small and there is  some terms like (1/H)(dH/dX) or
(1/H^2)(dH/dX) in my equations.

For "Linear solve did not converge due to DIVERGED_DTOL iterations
3270", does this mean I should change the ksp_type?

Thank you very much!

Feng-Chao

> 2. Start with a time integration method that has a discrete maximum
> principle. Implicit Euler has this property for many classes of systems,
> but CN does not.
>
> 3. Consider writing the system as a variational inequality if positivity is
> still a problem with the time steps you want to take. Then use SNESVIRS (or
> SNESVIRSAUG or SNESVISS).
>
>
>>
>> I think it is because that the solution of this equation may form infinite
>> fradient when the equation is developed.
>>
>> Some literatures reported that the similar problem was solved successfully
>> using the ADI (Alternating Direction Implicit) method. Unfortunately, I
>> found that the current PETSc doesn't support ADI.
>>
>> I also read a paper in which the similar equation was solved by using the
>> CN scheme in time. Besides, the author employed the modified second-order
>> upwind difference method to handle the nonlinear terms due to the
>> inability
>> of the centered differences in space.
>>
>> I prefer to use PETSc because this powerful toolkit enables easy parallel
>> computation of PDE since I am not familar with MPI. Could anyone please
>> give me some suggestions on how I can solve the above equation within the
>> framework of PETSc?
>>
>> Thanks very much in advance!
>>
>> Feng-Chao Wang
>>
>> 2011-12-28
>> ------------------------------
>>
>>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20111227/dfa209f6/attachment.htm>
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: not available
> Type: image/jpeg
> Size: 52349 bytes
> Desc: not available
> URL:
> <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20111227/dfa209f6/attachment.jpeg>
>
> ------------------------------
>
> _______________________________________________
> petsc-users mailing list
> petsc-users at mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/petsc-users
>
>
> End of petsc-users Digest, Vol 36, Issue 82
> *******************************************
>


More information about the petsc-users mailing list