[petsc-dev] Handling DM local functions with TS

Nathan Collier nathaniel.collier at gmail.com
Wed Oct 12 01:10:26 CDT 2011


Jed,

I would talk to Lisandro about this. In our PETSC-nurbs code he
implemented a few additional routines that let us approximate
jacobians by coloring. I am not sure of the difference between this
and what you want but maybe he has it done. The extra routines are in
fdcolor.c and the usage is in NavierStokesKorteweg2D.c. Basically we
have to get the SNES out of the TS and then set a few things.

Nate

On Wed, Oct 12, 2011 at 6:32 AM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
> I'd like to have some automatic way to use coloring with TS as long as I
> provide a residual evaluation function. In the current approach, if I don't
> do anything special, it fails because there are no TS functions on the DM.
> Barry, how would you like to go about fixing this?
>
> ./ex26 -da_grid_x 20 -da_grid_y 20 -lidvelocity 100 -grashof 1e3
> -ts_max_steps 100 -ts_rtol 1e-3 -ts_atol 1e-3 -ts_type rosw -ts_rosw_type
> ra3pw -ts_monitor -ts_monitor_solution_vtk 'foo-%03D.vts'
> 20x20 grid, lid velocity = 100, prandtl # = 1, grashof # = 1000
> 0 TS dt 0.025 time 0
> [0]PETSC ERROR: --------------------- Error Message
> ------------------------------------
> [0]PETSC ERROR: Object is in wrong state!
> [0]PETSC ERROR: Must call MatFDColoringSetFunction()!
> [0]PETSC ERROR:
> ------------------------------------------------------------------------
> [0]PETSC ERROR: Petsc Development HG revision:
> f25e2c7d799b418675085efb3f389141e0dd9d6e  HG Date: Sat Oct 01 17:17:01 2011
> -0500
> [0]PETSC ERROR: See docs/changes/index.html for recent updates.
> [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
> [0]PETSC ERROR: See docs/index.html for manual pages.
> [0]PETSC ERROR:
> ------------------------------------------------------------------------
> [0]PETSC ERROR: ./ex26 on a ompi named batura by jed Tue Oct 11 22:25:15
> 2011
> [0]PETSC ERROR: Libraries linked from /home/jed/petsc/ompi/lib
> [0]PETSC ERROR: Configure run at Sun Oct  2 10:41:14 2011
> [0]PETSC ERROR: Configure options --download-blacs --download-hypre
> --download-ml --download-mumps --download-parmetis --download-scalapack
> --download-spai --download-sundials --download-superlu
> --download-superlu_dist --download-umfpack --with-parmetis-dir=/usr
> --with-rosw --with-shared-libraries --with-single-library=0 --with-sowing
> PETSC_ARCH=ompi --download-parms
> [0]PETSC ERROR:
> ------------------------------------------------------------------------
> [0]PETSC ERROR: MatFDColoringApply() line 515 in
> /home/jed/petsc/src/mat/matfd/fdmatrix.c
> [0]PETSC ERROR: DMComputeJacobianDefault() line 813 in
> /home/jed/petsc/src/dm/interface/dm.c
> [0]PETSC ERROR: DMComputeJacobian() line 1290 in
> /home/jed/petsc/src/dm/interface/dm.c
> [0]PETSC ERROR: SNESDMComputeJacobian() line 23 in
> /home/jed/petsc/src/snes/interface/snes.c
> [0]PETSC ERROR: SNESComputeJacobian() line 1410 in
> /home/jed/petsc/src/snes/interface/snes.c
> [0]PETSC ERROR: SNESSolve_KSPONLY() line 32 in
> /home/jed/petsc/src/snes/impls/ksponly/ksponly.c
> [0]PETSC ERROR: SNESSolve() line 2793 in
> /home/jed/petsc/src/snes/interface/snes.c
> [0]PETSC ERROR: TSStep_RosW() line 669 in
> /home/jed/petsc/src/ts/impls/rosw/rosw.c
> [0]PETSC ERROR: TSStep() line 1813 in /home/jed/petsc/src/ts/interface/ts.c
> [0]PETSC ERROR: TSSolve() line 1929 in /home/jed/petsc/src/ts/interface/ts.c
> [0]PETSC ERROR: main() line 164 in src/ts/examples/tutorials/ex26.c
>
>
>



-- 
Nathan Collier
Postdoctoral Researcher
King Abdullah University of Science and Technology (KAUST)
http://www.mendeley.com/profiles/nathan-collier/
nathaniel.collier at gmail.com



More information about the petsc-dev mailing list