[petsc-users] Using DMCOMPOSITE with TS

Ellen M. Price ellen.price at cfa.harvard.edu
Sat Feb 23 17:47:23 CST 2019


Quick update: I found that changing TS_EXACTFINALTIME_INTERPOLATE to
TS_EXACTFINALTIME_MATCHSTEP fixes the problem; is there a reason I can't
use the interpolation when using a DMCOMPOSITE?

Ellen Price


On 2/20/19 1:42 PM, Ellen Price wrote:
> Hi fellow PETSc users!
> 
> I am attempting to use a DMCOMPOSITE alongside TS and have run into some
> trouble. I'm attaching a MWE demonstrating the problem. The goal is to
> combine a DMDA3d for spatial data and a DMREDUNDANT for non-spatial,
> time-dependent fields. In the attached example, this additional field is
> temperature.
> 
> The DMDA data is currently just temperature-dependent, and the
> temperature is supposed to increase linearly. Unfortunately, no matter
> how I integrate (explicitly, using Euler or RK, or implicitly, using
> backward Euler or BDF), I get the wrong final temperature. The
> integration proceeds for 100 timesteps and then stops (verified by
> -ts_monitor). At a heating rate of 1, and an initial temperature of 150,
> I should get a final temperature of 250 very easily. However, I get
> something closer to 200 (not exact, which makes me think this isn't a
> simple missing-a-factor-of-2 error).
> 
> I'm currently using TSSetDM with the composite DM to let PETSc compute
> the Jacobian. Having checked all the inputs and outputs as well as I
> can, this is the only step that seems like it may be causing a problem;
> yet even explicit integration doesn't work, and that shouldn't need the
> Jacobian at all. I'm at a loss.
> 
> Run using:
> ./mwe -implicit yes -ts_type beuler -ts_monitor OR ./mwe -implicit no
> -ts_type euler -ts_monitor
> 
> Thanks in advance for any help,
> Ellen Price


More information about the petsc-users mailing list