[petsc-dev] Broken dense output in TSRK
Emil Constantinescu
emconsta at mcs.anl.gov
Thu Nov 17 12:36:55 CST 2016
Stefano, a fix was pushed in maint/master.
That was an issue (stack overflow) not flagged by the compiler or
valgrind directly for that matter - good catch.
To register a method without dense output:
const PetscReal
A[2][2] = {{0,0},
{1.,0}},
b[2] = {0.5,0.5},
*bembed = NULL,*Binterp = NULL;
ierr =
TSRKRegister("myrk",2,2,&A[0][0],&b[0],NULL,bembed,0,Binterp);CHKERRQ(ierr);
or with dense output:
const PetscReal
A[2][2] = {{0,0},
{1.,0}},
b[2] = {0.5,0.5},
*bembed = NULL,Binterp[2][2] ={{1.,-0.5},{0,0.5}};
ierr =
TSRKRegister("myrk",2,2,&A[0][0],&b[0],NULL,bembed,2,&Binterp[0][0]);CHKERRQ(ierr);
Emil
On 11/16/16 6:51 AM, Stefano Zampini wrote:
> Emil,
>
> I think that TSInterpolate_RK is broken.
>
> From the manual page of TSRKRegister
>
> http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/TS/TSRKRegister.html
>
> binterp is supposed to be a matrix but we are passing in the b vector in
> TSRKRegisterAll. Also, the NULL case for binterp is not taken into account.
>
> Could you please provide a fix in maint?
>
> Thanks,
> --
> Stefano
More information about the petsc-dev
mailing list