Lines Matching refs:bout
419 static PetscErrorCode VecDuplicate_FFTW_bout(Vec bout, Vec *bout_new) in VecDuplicate_FFTW_bout() argument
424 PetscCall(PetscObjectQuery((PetscObject)bout, "FFTmatrix", (PetscObject *)&A)); in VecDuplicate_FFTW_bout()
477 PetscErrorCode MatCreateVecsFFTW_FFTW(Mat A, Vec *fin, Vec *fout, Vec *bout) in MatCreateVecsFFTW_FFTW() argument
494 if (bout) PetscCall(VecCreateSeq(PETSC_COMM_SELF, fft->N, bout)); in MatCreateVecsFFTW_FFTW()
498 if (bout) PetscCall(VecCreateSeq(PETSC_COMM_SELF, fft->n, bout)); in MatCreateVecsFFTW_FFTW()
541 if (bout) { in MatCreateVecsFFTW_FFTW()
545 PetscCall(VecCreateMPIWithArray(comm, 1, n1, N1, (const PetscScalar *)data_bout, bout)); in MatCreateVecsFFTW_FFTW()
546 PetscCall(PetscObjectCompose((PetscObject)*bout, "FFTmatrix", (PetscObject)A)); in MatCreateVecsFFTW_FFTW()
547 (*bout)->ops->duplicate = VecDuplicate_FFTW_fout; in MatCreateVecsFFTW_FFTW()
548 (*bout)->ops->destroy = VecDestroy_MPIFFTW; in MatCreateVecsFFTW_FFTW()
571 if (bout) { in MatCreateVecsFFTW_FFTW()
573 … PetscCall(VecCreateMPIWithArray(comm, 1, (PetscInt)n1, N1, (PetscScalar *)data_boutr, bout)); in MatCreateVecsFFTW_FFTW()
574 PetscCall(PetscObjectCompose((PetscObject)*bout, "FFTmatrix", (PetscObject)A)); in MatCreateVecsFFTW_FFTW()
575 (*bout)->ops->duplicate = VecDuplicate_FFTW_bout; in MatCreateVecsFFTW_FFTW()
576 (*bout)->ops->destroy = VecDestroy_MPIFFTW; in MatCreateVecsFFTW_FFTW()
595 if (bout) { in MatCreateVecsFFTW_FFTW()
597 … PetscCall(VecCreateMPIWithArray(comm, 1, fft->n, fft->N, (const PetscScalar *)data_bout, bout)); in MatCreateVecsFFTW_FFTW()
598 PetscCall(PetscObjectCompose((PetscObject)*bout, "FFTmatrix", (PetscObject)A)); in MatCreateVecsFFTW_FFTW()
599 (*bout)->ops->duplicate = VecDuplicate_FFTW_bout; in MatCreateVecsFFTW_FFTW()
600 (*bout)->ops->destroy = VecDestroy_MPIFFTW; in MatCreateVecsFFTW_FFTW()
623 if (bout) { in MatCreateVecsFFTW_FFTW()
625 … PetscCall(VecCreateMPIWithArray(comm, 1, (PetscInt)n1, N1, (PetscScalar *)data_boutr, bout)); in MatCreateVecsFFTW_FFTW()
626 PetscCall(PetscObjectCompose((PetscObject)*bout, "FFTmatrix", (PetscObject)A)); in MatCreateVecsFFTW_FFTW()
627 (*bout)->ops->duplicate = VecDuplicate_FFTW_bout; in MatCreateVecsFFTW_FFTW()
628 (*bout)->ops->destroy = VecDestroy_MPIFFTW; in MatCreateVecsFFTW_FFTW()
646 if (bout) { in MatCreateVecsFFTW_FFTW()
648 … PetscCall(VecCreateMPIWithArray(comm, 1, fft->n, fft->N, (const PetscScalar *)data_bout, bout)); in MatCreateVecsFFTW_FFTW()
649 PetscCall(PetscObjectCompose((PetscObject)*bout, "FFTmatrix", (PetscObject)A)); in MatCreateVecsFFTW_FFTW()
650 (*bout)->ops->duplicate = VecDuplicate_FFTW_bout; in MatCreateVecsFFTW_FFTW()
651 (*bout)->ops->destroy = VecDestroy_MPIFFTW; in MatCreateVecsFFTW_FFTW()
677 if (bout) { in MatCreateVecsFFTW_FFTW()
679 PetscCall(VecCreateMPIWithArray(comm, 1, fft->n, N1, (PetscScalar *)data_boutr, bout)); in MatCreateVecsFFTW_FFTW()
680 PetscCall(PetscObjectCompose((PetscObject)*bout, "FFTmatrix", (PetscObject)A)); in MatCreateVecsFFTW_FFTW()
681 (*bout)->ops->duplicate = VecDuplicate_FFTW_bout; in MatCreateVecsFFTW_FFTW()
682 (*bout)->ops->destroy = VecDestroy_MPIFFTW; in MatCreateVecsFFTW_FFTW()
700 if (bout) { in MatCreateVecsFFTW_FFTW()
702 … PetscCall(VecCreateMPIWithArray(comm, 1, fft->n, fft->N, (const PetscScalar *)data_bout, bout)); in MatCreateVecsFFTW_FFTW()
703 PetscCall(PetscObjectCompose((PetscObject)*bout, "FFTmatrix", (PetscObject)A)); in MatCreateVecsFFTW_FFTW()
704 (*bout)->ops->duplicate = VecDuplicate_FFTW_bout; in MatCreateVecsFFTW_FFTW()
705 (*bout)->ops->destroy = VecDestroy_MPIFFTW; in MatCreateVecsFFTW_FFTW()
716 if (bout) (*bout)->ops->replacearray = NULL; in MatCreateVecsFFTW_FFTW()