Lines Matching refs:multi_element
401 PetscBool flg, multi_element = sub_schurs->graph->multi_element; in PCBDDCSubSchursSetUp() local
452 …scOptionsGetBool(NULL, sub_schurs->prefix, "-sub_schurs_multielement_code", &multi_element, NULL)); in PCBDDCSubSchursSetUp()
453 if (n_local_subs == 0) multi_element = PETSC_FALSE; in PCBDDCSubSchursSetUp()
584 if (multi_element) PetscCall(PetscMalloc1(n_B + extra, &all_local_subid_N)); in PCBDDCSubSchursSetUp()
589 if (multi_element) in PCBDDCSubSchursSetUp()
609 if (multi_element) in PCBDDCSubSchursSetUp()
891 if (multi_element) in PCBDDCSubSchursSetUp()
907 if (multi_element) in PCBDDCSubSchursSetUp()
935 if (multi_element) { in PCBDDCSubSchursSetUp()
1031 if (n_I && !multi_element) { in PCBDDCSubSchursSetUp()
1123 reuse_solvers = (PetscBool)(reuse_solvers && !economic && !sub_schurs->graph->multi_element); in PCBDDCSubSchursSetUp()
1257 …} else if (multi_element) { /* MUMPS does not support sparse Schur complements. Loop over local su… in PCBDDCSubSchursSetUp()
1450 if (!multi_element) PetscCall(MatDenseGetArrayRead(S_all, &rS_data)); in PCBDDCSubSchursSetUp()
1465 if (multi_element) { /* transpose copy to workspace */ in PCBDDCSubSchursSetUp()
1568 if (!multi_element) PetscCall(MatDenseRestoreArrayRead(S_all, &rS_data)); in PCBDDCSubSchursSetUp()
1678 if (multi_element) { in PCBDDCSubSchursSetUp()
1791 if (S_all_inv && !multi_element) PetscCall(MatDenseGetArrayRead(S_all_inv, &rS_data)); in PCBDDCSubSchursSetUp()
1800 if (multi_element) { /* transpose copy to workspace */ in PCBDDCSubSchursSetUp()
1841 …CreateSeqDense(PETSC_COMM_SELF, subset_size, subset_size, (rS_data || multi_element) ? work : SEji… in PCBDDCSubSchursSetUp()
1856 …if (rS_data || multi_element) PetscCall(PetscArraycpy(SEjinv_arr, work, subset_size * subset_size)… in PCBDDCSubSchursSetUp()
1863 if (!multi_element) PetscCall(MatDenseRestoreArrayRead(S_all_inv, &rS_data)); in PCBDDCSubSchursSetUp()
1928 if (multi_element) { in PCBDDCSubSchursSetUp()