Lines Matching refs:edata
7673 EnvelopeData *edata = *(EnvelopeData **)ptr; in EnvelopeDataDestroy() local
7676 for (PetscInt i = 0; i < edata->n; i++) PetscCall(ISDestroy(&edata->is[i])); in EnvelopeDataDestroy()
7677 PetscCall(PetscFree(edata->is)); in EnvelopeDataDestroy()
7678 PetscCall(PetscFree(edata)); in EnvelopeDataDestroy()
7714 EnvelopeData *edata; in MatComputeVariableBlockEnvelope() local
7761 PetscCall(PetscNew(&edata)); in MatComputeVariableBlockEnvelope()
7762 PetscCall(MatGetNonzeroState(mat, &edata->nonzerostate)); in MatComputeVariableBlockEnvelope()
7763 edata->n = lblocks; in MatComputeVariableBlockEnvelope()
7765 PetscCall(PetscMalloc1(lblocks, &edata->is)); in MatComputeVariableBlockEnvelope()
7766 … < lblocks; i++) PetscCall(ISCreateStride(PETSC_COMM_SELF, sizes[i], starts[i], 1, &edata->is[i])); in MatComputeVariableBlockEnvelope()
7769 PetscCall(MatCreate(PetscObjectComm((PetscObject)mat), &edata->C)); in MatComputeVariableBlockEnvelope()
7770 PetscCall(MatSetSizes(edata->C, mat->rmap->n, mat->cmap->n, mat->rmap->N, mat->cmap->N)); in MatComputeVariableBlockEnvelope()
7771 PetscCall(MatSetBlockSizesFromMats(edata->C, mat, mat)); in MatComputeVariableBlockEnvelope()
7772 PetscCall(MatSetType(edata->C, MATAIJ)); in MatComputeVariableBlockEnvelope()
7829 PetscCall(MatXAIJSetPreallocation(edata->C, mat->rmap->bs, diag, odiag, NULL, NULL)); in MatComputeVariableBlockEnvelope()
7834 PetscCall(PetscContainerSetPointer(container, edata)); in MatComputeVariableBlockEnvelope()
7863 EnvelopeData *edata; in MatInvertVariableBlockEnvelope() local
7872 PetscCall(PetscContainerGetPointer(container, &edata)); in MatInvertVariableBlockEnvelope()
7874 …PetscCheck(nonzerostate <= edata->nonzerostate, PetscObjectComm((PetscObject)A), PETSC_ERR_SUP, "C… in MatInvertVariableBlockEnvelope()
7875 …PetscCheck(reuse != MAT_REUSE_MATRIX || *C == edata->C, PetscObjectComm((PetscObject)A), PETSC_ERR… in MatInvertVariableBlockEnvelope()
7877 …PetscCall(MatCreateSubMatrices(A, edata->n, edata->is, edata->is, MAT_INITIAL_MATRIX, &edata->mat)… in MatInvertVariableBlockEnvelope()
7878 *C = edata->C; in MatInvertVariableBlockEnvelope()
7880 for (PetscInt i = 0; i < edata->n; i++) { in MatInvertVariableBlockEnvelope()
7884 PetscCall(MatConvert(edata->mat[i], MATSEQDENSE, MAT_INITIAL_MATRIX, &D)); in MatInvertVariableBlockEnvelope()
7888 PetscCall(MatSetValuesIS(*C, edata->is[i], edata->is[i], dvalues, INSERT_VALUES)); in MatInvertVariableBlockEnvelope()
7891 PetscCall(MatDestroySubMatrices(edata->n, &edata->mat)); in MatInvertVariableBlockEnvelope()