Lines Matching refs:dm
10 self.dm = PETSc.DMShell().create(comm=self.COMM)
13 self.dm.destroy()
14 self.dm = None
21 self.dm.setGlobalVector(vec)
22 gvec = self.dm.createGlobalVector()
27 def create_vec(dm): argument
28 v = PETSc.Vec().create(comm=dm.comm)
33 self.dm.setCreateGlobalVector(create_vec)
34 gvec = self.dm.createGlobalVector()
35 self.assertEqual(gvec.comm, self.dm.comm)
42 self.dm.setLocalVector(vec)
43 lvec = self.dm.createLocalVector()
50 def create_vec(dm): argument
52 v.setSizes((1 + 10 * dm.comm.rank, None))
56 self.dm.setCreateLocalVector(create_vec)
57 lvec = self.dm.createLocalVector()
60 self.assertEqual(lsize, 1 + 10 * self.dm.comm.rank)
68 self.dm.setMatrix(mat)
69 nmat = self.dm.createMatrix()
73 def create_mat(dm): argument
79 self.dm.setCreateMatrix(create_mat)
80 nmat = self.dm.createMatrix()
81 self.assertEqual(nmat.getSizes(), create_mat(self.dm).getSizes())
84 def create_field_decomposition_only_is(dm): argument
87 def create_field_decomposition_only_is_names(dm): argument
88 _, ises, _ = create_field_decomposition_only_is(dm)
92 def create_field_decomposition_only_is_dms(dm): argument
93 _, ises, _ = create_field_decomposition_only_is(dm)
94 dms = [dm.clone() for _ in range(len(ises))]
97 def create_field_decomposition_only_full(dm): argument
98 names, ises, _ = create_field_decomposition_only_is_names(dm)
99 dms = [dm.clone() for _ in range(len(ises))]
109 self.dm.setCreateFieldDecomposition(test_f)
110 names, ises, dms = self.dm.createFieldDecomposition()
119 for dm in dms:
121 self.assertEqual(type(dm), PETSc.DM)
123 self.assertTrue(dm is None)
126 def begin(dm, ivec, mode, ovec): argument
132 def end(dm, ivec, mode, ovec): argument
138 vec[...] = self.dm.comm.rank + 1
142 self.dm.setGlobalToLocal(begin, end)
143 self.dm.globalToLocal(vec, ovec, addv=PETSc.InsertMode.INSERT_VALUES)
145 self.dm.globalToLocal(vec, ovec, addv=PETSc.InsertMode.ADD_VALUES)
149 def begin(dm, ivec, mode, ovec): argument
155 def end(dm, ivec, mode, ovec): argument
161 vec[...] = self.dm.comm.rank + 1
165 self.dm.setLocalToGlobal(begin, end)
166 self.dm.localToGlobal(vec, ovec, addv=PETSc.InsertMode.INSERT_VALUES)
168 self.dm.localToGlobal(vec, ovec, addv=PETSc.InsertMode.ADD_VALUES)
172 def begin(dm, ivec, mode, ovec): argument
178 def end(dm, ivec, mode, ovec): argument
184 vec[...] = self.dm.comm.rank + 1
186 self.dm.setLocalToLocal(begin, end)
187 self.dm.localToLocal(vec, ovec, addv=PETSc.InsertMode.INSERT_VALUES)
189 self.dm.localToLocal(vec, ovec, addv=PETSc.InsertMode.ADD_VALUES)
197 self.dm.setGlobalToLocalVecScatter(sct)
198 self.dm.globalToLocal(vec, ovec, addv=PETSc.InsertMode.INSERT_VALUES)
205 self.dm.setLocalToGlobalVecScatter(sct)
206 self.dm.localToGlobal(vec, ovec, addv=PETSc.InsertMode.INSERT_VALUES)
213 self.dm.setLocalToLocalVecScatter(sct)
214 self.dm.localToLocal(vec, ovec, addv=PETSc.InsertMode.INSERT_VALUES)
219 def coarsen(dm, comm): argument
222 def refine(dm, comm): argument
223 return self.dm
226 self.dm.setCoarsen(coarsen)
227 coarsened = self.dm.coarsen()
230 self.assertEqual(refined, self.dm)
240 def create_interp(dm, dmf): argument
243 self.dm.setCreateInterpolation(create_interp)
244 m, v = self.dm.createInterpolation(self.dm)
253 def create_inject(dm, dmf): argument
256 self.dm.setCreateInjection(create_inject)
257 m = self.dm.createInjection(self.dm)