Lines Matching refs:snes

12     def __call__(self, snes, x, f):  argument
19 def __call__(self, snes, x, J, P): argument
30 def __call__(self, snes, x, f): argument
31 load = snes.getNewtonALLoadParameter()
38 def __call__(self, snes, x, f): argument
51 snes = PETSc.SNES()
52 snes.create(PETSc.COMM_SELF)
54 snes.setType(self.SNES_TYPE)
55 self.snes = snes
58 self.snes = None
62 self.assertEqual(self.snes.getType(), self.SNES_TYPE)
63 self.snes.setType(self.SNES_TYPE)
64 self.assertEqual(self.snes.getType(), self.SNES_TYPE)
67 tols = self.snes.getTolerances()
68 self.snes.setTolerances(*tols)
70 tolvals = [getattr(self.snes, t) for t in tnames]
72 dtol = self.snes.getDivergenceTolerance()
74 self.snes.setDivergenceTolerance(PETSc.UNLIMITED)
75 dtol = self.snes.getDivergenceTolerance()
77 self.snes.setDivergenceTolerance(PETSc.CURRENT)
81 snes = self.snes
83 snes.appctx = (1, 2, 3)
84 self.assertEqual(snes.appctx, (1, 2, 3))
85 snes.appctx = None
86 self.assertEqual(snes.appctx, None)
88 snes.its = 1
89 self.assertEqual(snes.its, 1)
90 snes.its = 0
91 self.assertEqual(snes.its, 0)
93 snes.norm = 1
94 self.assertEqual(snes.norm, 1)
95 snes.norm = 0
96 self.assertEqual(snes.norm, 0)
98 rh, ih = snes.history
103 snes.reason = reason
104 self.assertEqual(snes.reason, reason)
105 self.assertTrue(snes.is_converged)
106 self.assertFalse(snes.is_diverged)
107 self.assertFalse(snes.is_iterating)
109 snes.reason = reason
110 self.assertEqual(snes.reason, reason)
111 self.assertFalse(snes.is_converged)
112 self.assertTrue(snes.is_diverged)
113 self.assertFalse(snes.is_iterating)
115 snes.reason = reason
116 self.assertEqual(snes.reason, reason)
117 self.assertFalse(snes.is_converged)
118 self.assertFalse(snes.is_diverged)
119 self.assertTrue(snes.is_iterating)
121 self.assertFalse(snes.use_ew)
122 self.assertFalse(snes.use_mf)
123 self.assertFalse(snes.use_fd)
124 ouse = snes.use_ksp
125 self.assertEqual(ouse, snes.getUseKSP())
126 snes.use_ksp = not ouse
127 self.assertEqual(not ouse, snes.getUseKSP())
128 snes.setUseKSP(ouse)
129 self.assertEqual(ouse, snes.use_ksp)
132 r, func = self.snes.getFunction()
138 self.snes.setFunction(func, r)
139 self.snes.setFunction(func, r)
141 r2, func2 = self.snes.getFunction()
145 r3, func3 = self.snes.getFunction()
153 self.snes.setFunction(func, r)
156 self.snes.computeFunction(x, y)
161 A, P, jac = self.snes.getJacobian()
171 self.snes.setJacobian(jac, J)
172 self.snes.setJacobian(jac, J)
174 J2, P2, jac2 = self.snes.getJacobian()
179 J3, P3, jac3 = self.snes.getJacobian()
191 self.snes.setJacobian(jac, J)
194 self.snes.getKSP().getPC()
195 self.snes.computeJacobian(x, J)
198 self.assertTrue(self.snes.getUpdate() is None)
199 upd = lambda snes, it: None argument
201 self.snes.setUpdate(upd)
203 self.snes.setUpdate(upd)
205 self.snes.setUpdate(None)
206 self.assertTrue(self.snes.getUpdate() is None)
208 self.snes.setUpdate(upd)
210 upd2 = lambda snes, it: None argument
212 self.snes.setUpdate(upd2)
215 tmp = self.snes.getUpdate()[0]
219 self.snes.setUpdate(None)
220 self.assertTrue(self.snes.getUpdate() is None)
224 ksp = self.snes.getKSP()
235 if self.snes.getType() == PETSc.SNES.Type.NEWTONAL:
236 self.snes.setFunction(FunctionAL(), r)
237 self.snes.setNewtonALCorrectionType(PETSc.SNES.NewtonALCorrectionType.EXACT)
238 self.snes.setNewtonALFunction(FunctionALLoad())
240 self.snes.setFunction(Function(), r)
241 self.snes.setJacobian(Jacobian(), J)
243 def _update(snes, it, cnt): argument
246 self.snes.setUpdate(_update, (cnt_up,) )
250 self.snes.setConvergenceHistory()
251 self.snes.setFromOptions()
252 self.snes.solve(b, x)
253 self.snes.setUpdate(None)
254 rh, ih = self.snes.getConvergenceHistory()
255 self.snes.setConvergenceHistory(0, reset=True)
256 rh, ih = self.snes.getConvergenceHistory()
259 if self.snes.getType() != PETSc.SNES.Type.NEWTONAL:
262 self.assertEqual(self.snes.getIterationNumber(), cnt_up)
264 reason = self.snes.callConvergenceTest(1, 0, 0, 0)
268 x = self.snes.getSolution()
270 self.snes.solve()
271 if self.snes.getType() != PETSc.SNES.Type.NEWTONAL:
276 self.snes.reset()
278 self.snes.reset()
280 self.snes.reset()
285 def monitor(snes, its, fgnorm): argument
289 self.snes.setMonitor(monitor)
294 self.snes.monitorCancel()
298 self.snes.setMonitor(monitor)
299 self.snes.monitor(1, 7)
309 its = self.snes.getIterationNumber()
311 fails = self.snes.getNonlinearStepFailures()
313 fails = self.snes.getMaxNonlinearStepFailures()
315 self.snes.setMaxNonlinearStepFailures(5)
316 fails = self.snes.getMaxNonlinearStepFailures()
318 self.snes.setMaxNonlinearStepFailures(1)
319 fails = self.snes.getMaxNonlinearStepFailures()
323 its = self.snes.getLinearSolveIterations()
325 fails = self.snes.getLinearSolveFailures()
327 fails = self.snes.getMaxLinearSolveFailures()
329 self.snes.setMaxLinearSolveFailures(5)
330 fails = self.snes.getMaxLinearSolveFailures()
332 self.snes.setMaxLinearSolveFailures(1)
333 fails = self.snes.getMaxLinearSolveFailures()
337 self.snes.setUseEW(False)
338 self.assertFalse(self.snes.getUseEW())
339 self.snes.setUseEW(True)
340 self.assertTrue(self.snes.getUseEW())
341 params = self.snes.getParamsEW()
343 self.snes.setParamsEW(**params)
344 params = self.snes.getParamsEW()
347 self.snes.setParamsEW(**params)
348 params = self.snes.getParamsEW()
367 self.snes.setFunction(fun, r)
368 self.snes.setJacobian(jac, J)
369 self.assertFalse(self.snes.getUseMF())
370 self.snes.setUseMF(False)
371 self.assertFalse(self.snes.getUseMF())
372 self.snes.setUseMF(True)
373 self.assertTrue(self.snes.getUseMF())
374 self.snes.setFromOptions()
375 if self.snes.getType() == PETSc.SNES.Type.NEWTONLS:
378 self.snes.solve(b, x)
392 self.snes.setFunction(fun, r)
393 self.snes.setJacobian(jac, J)
394 self.assertFalse(self.snes.getUseFD())
395 jac(self.snes, x, J, J)
396 self.snes.setUseFD(False)
397 self.assertFalse(self.snes.getUseFD())
398 self.snes.setUseFD(True)
399 self.assertTrue(self.snes.getUseFD())
400 self.snes.setFromOptions()
403 self.snes.solve(b, x)
404 if self.snes.getType() != PETSc.SNES.Type.NEWTONAL:
409 self.snes.appctx = (1, 2, 3)
410 npc = self.snes.getNPC()
416 if self.snes.getType() == PETSc.SNES.Type.NEWTONTR:
417 defreg = self.snes.getTRTolerances()
418 defup = self.snes.getTRUpdateParameters()
419 self.snes.setTRTolerances(*newreg)
420 self.snes.setTRUpdateParameters(*newup)
421 if self.snes.getType() == PETSc.SNES.Type.NEWTONTR:
422 self.assertEqual(newreg, self.snes.getTRTolerances())
423 self.assertEqual(newup, self.snes.getTRUpdateParameters())
424 self.snes.setTRTolerances()
425 self.snes.setTRUpdateParameters()
426 if self.snes.getType() == PETSc.SNES.Type.NEWTONTR:
427 self.assertEqual(newreg, self.snes.getTRTolerances())
428 self.assertEqual(newup, self.snes.getTRUpdateParameters())
429 self.snes.setTRTolerances(*(PETSc.DETERMINE,)*3)
430 self.snes.setTRUpdateParameters(*(PETSc.DETERMINE,)*5)
431 if self.snes.getType() == PETSc.SNES.Type.NEWTONTR:
432 self.assertEqual(defreg, self.snes.getTRTolerances())
433 self.assertEqual(defup, self.snes.getTRUpdateParameters())
492 snes = PETSc.SNES().create()
493 ls = snes.getLineSearch()
496 self.assertEqual(snes.linesearch, ls)
497 snes.linesearch = ls
498 self.assertEqual(snes.linesearch, ls)
499 snes.destroy()