Lines Matching refs:sum

152   PetscDualSpace_Sum *sum = (PetscDualSpace_Sum *)space->data;  in PetscDualSpaceSumGetNumSubspaces_Sum()  local
155 *numSumSpaces = sum->numSumSpaces; in PetscDualSpaceSumGetNumSubspaces_Sum()
161 PetscDualSpace_Sum *sum = (PetscDualSpace_Sum *)space->data; in PetscDualSpaceSumSetNumSubspaces_Sum() local
162 PetscInt Ns = sum->numSumSpaces; in PetscDualSpaceSumSetNumSubspaces_Sum()
165 …PetscCheck(!sum->setupcalled, PetscObjectComm((PetscObject)space), PETSC_ERR_ARG_WRONGSTATE, "Cann… in PetscDualSpaceSumSetNumSubspaces_Sum()
167 for (PetscInt s = 0; s < Ns; ++s) PetscCall(PetscDualSpaceDestroy(&sum->sumspaces[s])); in PetscDualSpaceSumSetNumSubspaces_Sum()
168 PetscCall(PetscFree(sum->sumspaces)); in PetscDualSpaceSumSetNumSubspaces_Sum()
170 Ns = sum->numSumSpaces = numSumSpaces; in PetscDualSpaceSumSetNumSubspaces_Sum()
171 PetscCall(PetscCalloc1(Ns, &sum->sumspaces)); in PetscDualSpaceSumSetNumSubspaces_Sum()
177 PetscDualSpace_Sum *sum = (PetscDualSpace_Sum *)sp->data; in PetscDualSpaceSumGetConcatenate_Sum() local
180 *concatenate = sum->concatenate; in PetscDualSpaceSumGetConcatenate_Sum()
186 PetscDualSpace_Sum *sum = (PetscDualSpace_Sum *)sp->data; in PetscDualSpaceSumSetConcatenate_Sum() local
189 …PetscCheck(!sum->setupcalled, PetscObjectComm((PetscObject)sp), PETSC_ERR_ARG_WRONGSTATE, "Cannot … in PetscDualSpaceSumSetConcatenate_Sum()
191 sum->concatenate = concatenate; in PetscDualSpaceSumSetConcatenate_Sum()
197 PetscDualSpace_Sum *sum = (PetscDualSpace_Sum *)space->data; in PetscDualSpaceSumGetSubspace_Sum() local
198 PetscInt Ns = sum->numSumSpaces; in PetscDualSpaceSumGetSubspace_Sum()
204 *subspace = sum->sumspaces[s]; in PetscDualSpaceSumGetSubspace_Sum()
210 PetscDualSpace_Sum *sum = (PetscDualSpace_Sum *)space->data; in PetscDualSpaceSumSetSubspace_Sum() local
211 PetscInt Ns = sum->numSumSpaces; in PetscDualSpaceSumSetSubspace_Sum()
214 …PetscCheck(!sum->setupcalled, PetscObjectComm((PetscObject)space), PETSC_ERR_ARG_WRONGSTATE, "Cann… in PetscDualSpaceSumSetSubspace_Sum()
219 PetscCall(PetscDualSpaceDestroy(&sum->sumspaces[s])); in PetscDualSpaceSumSetSubspace_Sum()
220 sum->sumspaces[s] = subspace; in PetscDualSpaceSumSetSubspace_Sum()
560 PetscDualSpace_Sum *sum = (PetscDualSpace_Sum *)sp->data; in PetscDualSpaceSumIsUniform() local
564 for (PetscInt s = 1; s < sum->numSumSpaces; s++) { in PetscDualSpaceSumIsUniform()
565 if (sum->sumspaces[s] != sum->sumspaces[0]) { in PetscDualSpaceSumIsUniform()
576 PetscDualSpace_Sum *sum = (PetscDualSpace_Sum *)sp->data; in PetscDualSpaceGetSymmetries_Sum() local
579 if (!sum->symComputed) { in PetscDualSpaceGetSymmetries_Sum()
586 sum->symComputed = PETSC_TRUE; in PetscDualSpaceGetSymmetries_Sum()
619 sum->numSelfSym = groupSize; in PetscDualSpaceGetSymmetries_Sum()
620 sum->selfSymOff = groupSize / 2; in PetscDualSpaceGetSymmetries_Sum()
660 … PetscCall(ISLocalToGlobalMappingApply(sum->int_rows[s], subspdim, domain, domain_mapped)); in PetscDualSpaceGetSymmetries_Sum()
661 … PetscCall(ISLocalToGlobalMappingApply(sum->int_rows[s], subspdim, range, range_mapped)); in PetscDualSpaceGetSymmetries_Sum()
688 … PetscCall(ISLocalToGlobalMappingApply(sum->int_rows[s], subspdim, domain, domain_mapped)); in PetscDualSpaceGetSymmetries_Sum()
722 sum->symperms = symperms; in PetscDualSpaceGetSymmetries_Sum()
723 sum->symflips = symflips; in PetscDualSpaceGetSymmetries_Sum()
725 if (perms) *perms = (const PetscInt ***)sum->symperms; in PetscDualSpaceGetSymmetries_Sum()
726 if (flips) *flips = (const PetscScalar ***)sum->symflips; in PetscDualSpaceGetSymmetries_Sum()
732 PetscDualSpace_Sum *sum = (PetscDualSpace_Sum *)sp->data; in PetscDualSpaceSetUp_Sum() local
745 if (sum->setupcalled) PetscFunctionReturn(PETSC_SUCCESS); in PetscDualSpaceSetUp_Sum()
746 sum->setupcalled = PETSC_TRUE; in PetscDualSpaceSetUp_Sum()
874 sum->uniform = uniform; in PetscDualSpaceSetUp_Sum()
875 PetscCall(PetscCalloc1(Ns, &sum->all_rows)); in PetscDualSpaceSetUp_Sum()
876 PetscCall(PetscCalloc1(Ns, &sum->all_cols)); in PetscDualSpaceSetUp_Sum()
877 PetscCall(PetscCalloc1(Ns, &sum->int_rows)); in PetscDualSpaceSetUp_Sum()
878 PetscCall(PetscCalloc1(Ns, &sum->int_cols)); in PetscDualSpaceSetUp_Sum()
930 sum->uniform_all_points = uniform_all; in PetscDualSpaceSetUp_Sum()
931 sum->uniform_interior_points = uniform_interior; in PetscDualSpaceSetUp_Sum()
933 …PetscCall(PetscDualSpaceSumCreateMappings(sp, PETSC_TRUE, uniform_interior, sum->int_rows, sum->in… in PetscDualSpaceSetUp_Sum()
935 …if (sp->intNodes) PetscCall(PetscDualSpaceSumCreateMatrix(sp, int_mats, sum->int_rows, sum->int_co… in PetscDualSpaceSetUp_Sum()
937 …PetscCall(PetscDualSpaceSumCreateMappings(sp, PETSC_FALSE, uniform_all, sum->all_rows, sum->all_co… in PetscDualSpaceSetUp_Sum()
939 …if (sp->allNodes) PetscCall(PetscDualSpaceSumCreateMatrix(sp, all_mats, sum->all_rows, sum->all_co… in PetscDualSpaceSetUp_Sum()
948 PetscDualSpace_Sum *sum = (PetscDualSpace_Sum *)sp->data; in PetscDualSpaceSumView_Ascii() local
949 PetscBool concatenate = sum->concatenate; in PetscDualSpaceSumView_Ascii()
950 PetscInt i, Ns = sum->numSumSpaces; in PetscDualSpaceSumView_Ascii()
953 …f(v, "Sum dual space of %" PetscInt_FMT " concatenated subspaces%s\n", Ns, sum->uniform ? " (all i… in PetscDualSpaceSumView_Ascii()
954 …werASCIIPrintf(v, "Sum dual space of %" PetscInt_FMT " subspaces%s\n", Ns, sum->uniform ? " (all i… in PetscDualSpaceSumView_Ascii()
955 for (i = 0; i < (sum->uniform ? (Ns > 0 ? 1 : 0) : Ns); ++i) { in PetscDualSpaceSumView_Ascii()
957 PetscCall(PetscDualSpaceView(sum->sumspaces[i], v)); in PetscDualSpaceSumView_Ascii()
975 PetscDualSpace_Sum *sum = (PetscDualSpace_Sum *)sp->data; in PetscDualSpaceDestroy_Sum() local
976 PetscInt i, Ns = sum->numSumSpaces; in PetscDualSpaceDestroy_Sum()
979 if (sum->symperms) { in PetscDualSpaceDestroy_Sum()
980 PetscInt **selfSyms = sum->symperms[0]; in PetscDualSpaceDestroy_Sum()
983 PetscInt i, **allocated = &selfSyms[-sum->selfSymOff]; in PetscDualSpaceDestroy_Sum()
985 for (i = 0; i < sum->numSelfSym; i++) PetscCall(PetscFree(allocated[i])); in PetscDualSpaceDestroy_Sum()
988 PetscCall(PetscFree(sum->symperms)); in PetscDualSpaceDestroy_Sum()
990 if (sum->symflips) { in PetscDualSpaceDestroy_Sum()
991 PetscScalar **selfSyms = sum->symflips[0]; in PetscDualSpaceDestroy_Sum()
995 PetscScalar **allocated = &selfSyms[-sum->selfSymOff]; in PetscDualSpaceDestroy_Sum()
997 for (i = 0; i < sum->numSelfSym; i++) PetscCall(PetscFree(allocated[i])); in PetscDualSpaceDestroy_Sum()
1000 PetscCall(PetscFree(sum->symflips)); in PetscDualSpaceDestroy_Sum()
1003 PetscCall(PetscDualSpaceDestroy(&sum->sumspaces[i])); in PetscDualSpaceDestroy_Sum()
1004 if (sum->all_rows) PetscCall(ISLocalToGlobalMappingDestroy(&sum->all_rows[i])); in PetscDualSpaceDestroy_Sum()
1005 if (sum->all_cols) PetscCall(ISLocalToGlobalMappingDestroy(&sum->all_cols[i])); in PetscDualSpaceDestroy_Sum()
1006 if (sum->int_rows) PetscCall(ISLocalToGlobalMappingDestroy(&sum->int_rows[i])); in PetscDualSpaceDestroy_Sum()
1007 if (sum->int_cols) PetscCall(ISLocalToGlobalMappingDestroy(&sum->int_cols[i])); in PetscDualSpaceDestroy_Sum()
1009 PetscCall(PetscFree(sum->sumspaces)); in PetscDualSpaceDestroy_Sum()
1010 PetscCall(PetscFree(sum->all_rows)); in PetscDualSpaceDestroy_Sum()
1011 PetscCall(PetscFree(sum->all_cols)); in PetscDualSpaceDestroy_Sum()
1012 PetscCall(PetscFree(sum->int_rows)); in PetscDualSpaceDestroy_Sum()
1013 PetscCall(PetscFree(sum->int_cols)); in PetscDualSpaceDestroy_Sum()
1034 PetscCall(PetscFree(sum)); in PetscDualSpaceDestroy_Sum()
1063 PetscDualSpace_Sum *sum = (PetscDualSpace_Sum *)sp->data; in PetscDualSpaceSumSetInterleave_Sum() local
1066 sum->interleave_basis = interleave_basis; in PetscDualSpaceSumSetInterleave_Sum()
1067 sum->interleave_components = interleave_components; in PetscDualSpaceSumSetInterleave_Sum()
1100 PetscDualSpace_Sum *sum = (PetscDualSpace_Sum *)sp->data; in PetscDualSpaceSumGetInterleave_Sum() local
1103 if (interleave_basis) *interleave_basis = sum->interleave_basis; in PetscDualSpaceSumGetInterleave_Sum()
1104 if (interleave_components) *interleave_components = sum->interleave_components; in PetscDualSpaceSumGetInterleave_Sum()
1110 PetscDualSpace_Sum *sum = (PetscDualSpace_Sum *)sp->data; \
1113 if (is_uniform && sum->numSumSpaces > 0) { \
1259 PetscDualSpace_Sum *sum; in PetscDualSpaceCreate_Sum() local
1263 PetscCall(PetscNew(&sum)); in PetscDualSpaceCreate_Sum()
1264 sum->numSumSpaces = PETSC_DEFAULT; in PetscDualSpaceCreate_Sum()
1265 sp->data = sum; in PetscDualSpaceCreate_Sum()