Lines Matching refs:nodesets
12 PetscReal **nodesets;
61 for (i = 0; i < nc; i++) PetscCall(PetscFree((*nf)->nodesets[i]));
62 PetscCall(PetscFree((*nf)->nodesets));
68 static PetscErrorCode Petsc1DNodeFamilyGetNodeSets(Petsc1DNodeFamily f, PetscInt degree, PetscReal ***nodesets)
80 PetscCall(PetscArraycpy(new_nodesets, f->nodesets, nc));
81 PetscCall(PetscFree(f->nodesets));
82 f->nodesets = new_nodesets;
85 PetscCall(PetscMalloc1(i + 1, &f->nodesets[i]));
87 f->nodesets[i][0] = 0.5;
92 for (j = 0; j <= i; j++) f->nodesets[i][j] = (PetscReal)j / (PetscReal)i;
96 for (j = 0; j <= i; j++) f->nodesets[i][j] = ((PetscReal)j + 0.5) / ((PetscReal)i + 1.);
101 PetscCall(PetscDTGaussLobattoJacobiQuadrature(i + 1, 0., 1., f->gaussJacobiExp, f->gaussJacobiExp, f->nodesets[i], w));
103 PetscCall(PetscDTGaussJacobiQuadrature(i + 1, 0., 1., f->gaussJacobiExp, f->gaussJacobiExp, f->nodesets[i], w));
114 *nodesets = f->nodesets;
119 static PetscErrorCode PetscNodeRecursive_Internal(PetscInt dim, PetscInt degree, PetscReal **nodesets, PetscInt tup[], PetscReal node[])
127 node[0] = nodesets[degree][tup[0]];
128 node[1] = nodesets[degree][tup[1]];
132 PetscReal wi = nodesets[degree][degree - tup[i]];
135 PetscCall(PetscNodeRecursive_Internal(dim - 1, degree - tup[i], nodesets, &tup[dim + 1], &node[dim + 1]));
149 PetscReal **nodesets = NULL;
160 PetscCall(Petsc1DNodeFamilyGetNodeSets(f, degree, &nodesets));
188 PetscCall(PetscNodeRecursive_Internal(dim, degree, nodesets, tupwork, nodework));