<div class="gmail_quote">On Tue, Dec 27, 2011 at 19:58, Feng-Chao Wang <span dir="ltr"><<a href="mailto:wolfshow@gmail.com">wolfshow@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<u></u>
<div style="FONT-SIZE:10pt;MARGIN:10px;FONT-FAMILY:verdana">
<div><font face="Verdana">Dear all,</font></div>
<div> </div>
<div>I want to numerically solve a strongly nonlinear fourth-order equation
(2-D), which is used to describe the dynamics of a liquid film.</div>
<div>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.</div>
<div> </div>
<div><img src="cid:__0@Foxmail.net"></div>
<div> </div>
<div>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. </div></div></blockquote><div><br></div><div>1. Make sure that the equations are actually being solved, for instance with -snes_monitor -snes_converged_reason -ksp_converged_reason.</div><div><br></div><div>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.</div>
<div><br></div><div>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).</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="FONT-SIZE:10pt;MARGIN:10px;FONT-FAMILY:verdana">
<div> </div>
<div>I think it is because that the solution of this equation may form infinite
fradient when the equation is developed.</div>
<div> </div>
<div>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.</div>
<div> </div>
<div>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.</div>
<div> </div>
<div>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?</div>
<div> </div>
<div>Thanks very much in advance!</div>
<div> </div>
<div>Feng-Chao Wang</div>
<div><font face="Verdana"></font> </div>
<div align="left"><font face="Verdana" color="#c0c0c0">2011-12-28
</font></div><font face="Verdana">
<hr style="WIDTH:122px;min-height:2px" align="left" size="2">
<div><font face="Verdana" color="#c0c0c0"></font> </div></font></div>
</blockquote></div><br>