Home
last modified time | relevance | path

Searched refs:pcbddc (Results 1 – 7 of 7) sorted by relevance

/petsc/src/ksp/pc/impls/bddc/
H A Dbddc.c40 PC_BDDC *pcbddc = (PC_BDDC *)pc->data; in PCSetFromOptions_BDDC() local
56 …vel", "Verbose output for PCBDDC (intended for debug)", "none", pcbddc->dbg_flag, &pcbddc->dbg_fla… in PCSetFromOptions_BDDC()
58 …erfaceExtType", PCBDDCInterfaceExtTypes, (PetscEnum)pcbddc->interface_extension, (PetscEnum *)&pcb… in PCSetFromOptions_BDDC()
59 if (pcbddc->interface_extension == PC_BDDC_INTERFACE_EXT_DIRICHLET) { in PCSetFromOptions_BDDC()
60 … that we are using approximate Dirichlet solvers", "none", pcbddc->NullSpace_corr[0], &pcbddc->Nul… in PCSetFromOptions_BDDC()
61 …PCBDDC that we need to scale the Dirichlet solve", "none", pcbddc->NullSpace_corr[1], &pcbddc->Nul… in PCSetFromOptions_BDDC()
64 pcbddc->switch_static = PETSC_TRUE; in PCSetFromOptions_BDDC()
66 …DC that we are using approximate Neumann solvers", "none", pcbddc->NullSpace_corr[2], &pcbddc->Nul… in PCSetFromOptions_BDDC()
67 …m PCBDDC that we need to scale the Neumann solve", "none", pcbddc->NullSpace_corr[3], &pcbddc->Nul… in PCSetFromOptions_BDDC()
69 …djacency graph of local mat for interface analysis", "none", pcbddc->use_local_adj, &pcbddc->use_l… in PCSetFromOptions_BDDC()
[all …]
H A Dbddcprivate.c155 PC_BDDC *pcbddc = (PC_BDDC *)pc->data; in PCBDDCNedelecSupport() local
180 order = pcbddc->nedorder; in PCBDDCNedelecSupport()
181 conforming = pcbddc->conforming; in PCBDDCNedelecSupport()
182 field = pcbddc->nedfield; in PCBDDCNedelecSupport()
183 global = pcbddc->nedglobal; in PCBDDCNedelecSupport()
212pcbddc->n_ISForDofsLocal || field < pcbddc->n_ISForDofsLocal, comm, PETSC_ERR_USER, "Invalid field… in PCBDDCNedelecSupport()
213 if (pcbddc->n_ISForDofsLocal && field >= 0) { in PCBDDCNedelecSupport()
214 PetscCall(PetscObjectReference((PetscObject)pcbddc->ISForDofsLocal[field])); in PCBDDCNedelecSupport()
215 nedfieldlocal = pcbddc->ISForDofsLocal[field]; in PCBDDCNedelecSupport()
217 } else if (!pcbddc->n_ISForDofsLocal && field != PETSC_DECIDE) { in PCBDDCNedelecSupport()
[all …]
H A Dbddcscalingbasic.c48 PC_BDDC *pcbddc = (PC_BDDC *)pc->data; in PCBDDCScalingExtension_Basic() local
52 PetscCall(VecPointwiseMult(pcbddc->work_scaling, pcis->D, local_interface_vector)); in PCBDDCScalingExtension_Basic()
54 …PetscCall(VecScatterBegin(pcis->global_to_B, pcbddc->work_scaling, global_vector, ADD_VALUES, SCAT… in PCBDDCScalingExtension_Basic()
55 …PetscCall(VecScatterEnd(pcis->global_to_B, pcbddc->work_scaling, global_vector, ADD_VALUES, SCATTE… in PCBDDCScalingExtension_Basic()
62 PC_BDDC *pcbddc = (PC_BDDC *)pc->data; in PCBDDCScalingExtension_Deluxe() local
63 PCBDDCDeluxeScaling deluxe_ctx = pcbddc->deluxe_ctx; in PCBDDCScalingExtension_Deluxe()
66 PetscCall(VecSet(pcbddc->work_scaling, 0.0)); in PCBDDCScalingExtension_Deluxe()
74 PetscCall(VecGetArray(pcbddc->work_scaling, &array)); in PCBDDCScalingExtension_Deluxe()
76 PetscCall(VecRestoreArray(pcbddc->work_scaling, &array)); in PCBDDCScalingExtension_Deluxe()
114 …PetscCall(VecScatterBegin(deluxe_ctx->seq_scctx[i], deluxe_ctx->seq_work1[i], pcbddc->work_scaling… in PCBDDCScalingExtension_Deluxe()
[all …]
H A Dbddcnullspace.c68 PC_BDDC *pcbddc = (PC_BDDC *)pc->data; in PCBDDCNullSpaceAssembleCorrection() local
79 if (isdir) local_ksp = pcbddc->ksp_D; /* Dirichlet solver */ in PCBDDCNullSpaceAssembleCorrection()
80 else local_ksp = pcbddc->ksp_R; /* Neumann solver */ in PCBDDCNullSpaceAssembleCorrection()
84 …if (pcbddc->dbg_flag) PetscCall(PetscViewerASCIISynchronizedPrintf(pcbddc->dbg_viewer, "Subdomain … in PCBDDCNullSpaceAssembleCorrection()
89 PetscCall(PetscLogEventBegin(PC_BDDC_ApproxSetUp[pcbddc->current_level], pc, 0, 0, 0)); in PCBDDCNullSpaceAssembleCorrection()
96 shell_ctx->evapply = PC_BDDC_ApproxApply[pcbddc->current_level]; in PCBDDCNullSpaceAssembleCorrection()
146 if (needscaling || pcbddc->dbg_flag) { in PCBDDCNullSpaceAssembleCorrection()
186 if (pcbddc->dbg_flag) { in PCBDDCNullSpaceAssembleCorrection()
188 …PetscCall(PetscViewerASCIISynchronizedPrintf(pcbddc->dbg_viewer, "Subdomain %04d infinity error fo… in PCBDDCNullSpaceAssembleCorrection()
190 …PetscCall(PetscViewerASCIISynchronizedPrintf(pcbddc->dbg_viewer, "Subdomain %04d infinity error fo… in PCBDDCNullSpaceAssembleCorrection()
[all …]
H A Dbddcfetidp.c121 PC_BDDC *pcbddc = (PC_BDDC *)fetidpmat_ctx->pc->data; in PCBDDCSetupFETIDPMatContext() local
122 PCBDDCGraph mat_graph = pcbddc->mat_graph; in PCBDDCSetupFETIDPMatContext()
320 if (!pcbddc->use_deluxe_scaling) { in PCBDDCSetupFETIDPMatContext()
381 if (!pcbddc->use_deluxe_scaling) { in PCBDDCSetupFETIDPMatContext()
404 if (!pcbddc->use_deluxe_scaling) scaling_factors[partial_sum + s] = array[s]; in PCBDDCSetupFETIDPMatContext()
410 …if (!pcbddc->use_deluxe_scaling) scaling_factors[partial_sum + s + n_neg_values] = array[s + n_neg… in PCBDDCSetupFETIDPMatContext()
428 if (!pcbddc->use_deluxe_scaling) { in PCBDDCSetupFETIDPMatContext()
471 …PetscCheck(!pcbddc->use_deluxe_scaling, comm, PETSC_ERR_SUP, "Deluxe FETIDP with fully-redundant m… in PCBDDCSetupFETIDPMatContext()
484 if (!pcbddc->use_deluxe_scaling || !pcbddc->sub_schurs) { in PCBDDCSetupFETIDPMatContext()
492 PCBDDCDeluxeScaling deluxe_ctx = pcbddc->deluxe_ctx; in PCBDDCSetupFETIDPMatContext()
[all …]
/petsc/src/ksp/ksp/impls/fetidp/
H A Dfetidp.c260 PC_BDDC *pcbddc = (PC_BDDC *)fetidp->innerbddc->data; in KSPFETIDPCheckOperators() local
297 PetscCall(PCBDDCGraphGetCandidatesIS(pcbddc->mat_graph, NULL, NULL, NULL, NULL, &isvert)); in KSPFETIDPCheckOperators()
393 PetscCall(PCBDDCGraphGetDirichletDofs(pcbddc->mat_graph, &dirdofs)); in KSPFETIDPCheckOperators()
503 PetscCall(PCBDDCGraphRestoreCandidatesIS(pcbddc->mat_graph, NULL, NULL, NULL, NULL, &isvert)); in KSPFETIDPCheckOperators()
510 PC_BDDC *pcbddc = (PC_BDDC *)fetidp->innerbddc->data; in KSPFETIDPSetUpOperators() local
551 if (!pcbddc->n_ISForDofsLocal && !pcbddc->n_ISForDofs) { in KSPFETIDPSetUpOperators()
640 … fidp[0] = pcbddc->n_ISForDofsLocal ? pcbddc->n_ISForDofsLocal - 1 : pcbddc->n_ISForDofs - 1; in KSPFETIDPSetUpOperators()
642 } else if (!pcbddc->n_ISForDofsLocal && !pcbddc->n_ISForDofs) { in KSPFETIDPSetUpOperators()
650 if (pcbddc->n_ISForDofsLocal) { in KSPFETIDPSetUpOperators()
654pcbddc->n_ISForDofsLocal, PetscObjectComm((PetscObject)ksp), PETSC_ERR_USER, "Invalid field id for… in KSPFETIDPSetUpOperators()
[all …]
/petsc/src/ksp/pc/impls/mg/
H A Dgdsw.c8 PC pcbddc = NULL, smoothpc; in PCMGGDSWSetUp() local
73 PetscCall(PCCreate(PetscObjectComm((PetscObject)A), &pcbddc)); in PCMGGDSWSetUp()
74 PetscCall(PCSetType(pcbddc, PCBDDC)); in PCMGGDSWSetUp()
75 PetscCall(PCSetOperators(pcbddc, smoothA, A)); in PCMGGDSWSetUp()
76 PetscCall(PCISSetUp(pcbddc, PETSC_TRUE, PETSC_FALSE)); in PCMGGDSWSetUp()
79 pcbddc = smoothpc; in PCMGGDSWSetUp()
81 ipcis = (PC_IS *)pcbddc->data; in PCMGGDSWSetUp()
82 ipcbddc = (PC_BDDC *)pcbddc->data; in PCMGGDSWSetUp()
158 …if (userdefined) PetscCall(PCBDDCComputeFakeChange(pcbddc, PETSC_FALSE, graph, NULL, &cmat, &cref,… in PCMGGDSWSetUp()
173 …PetscCall(PCBDDCComputeFakeChange(pcbddc, PETSC_TRUE, graph, sub_schurs, &cmat, &cref, &sGiM[0], N… in PCMGGDSWSetUp()
[all …]