Esempio n. 1
0
void InitializeDMMGSolver(State *BHD)
{
  PC pc;
  DMMG *dmmg;
  int l;

  DMMGCreate(PETSC_COMM_WORLD,2,PETSC_NULL,&dmmg);
  DMMGSetDM(dmmg,(DM)BHD->da_dmmg);
  DADestroy(BHD->da_dmmg);
  for (l = 0; l < DMMGGetLevels(dmmg); l++)
    {
      DMMGSetUser(dmmg,l,(void*) BHD);
    }

  DMMGSetKSP(dmmg,ComputeRHSDMMG,InitializeLaplaceMatrix);


  BHD->dmmg = dmmg;
}
Esempio n. 2
0
void PETSC_STDCALL dmmggetlevels_(DMMG **dmmg,PetscInt *x,PetscErrorCode *ierr)
{
    *ierr = 0;
    *x    = DMMGGetLevels(*dmmg);
}