Skip to content

Commit 88fab06

Browse files
Upstream updates
1 parent bb3adb0 commit 88fab06

3 files changed

Lines changed: 22 additions & 22 deletions

File tree

08-composable-solvers.ipynb

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@
126126
"bc_value = as_vector([0.25 * x**2 * (2-x)**2 *y**2, 0])\n",
127127
"\n",
128128
"bcs = [DirichletBC(W.sub(0), bc_value, 4),\n",
129-
" DirichletBC(W.sub(0), zero(mesh.geometric_dimension), (1, 2, 3))]"
129+
" DirichletBC(W.sub(0), 0, (1, 2, 3))]"
130130
]
131131
},
132132
{
@@ -224,7 +224,7 @@
224224
"metadata": {},
225225
"outputs": [],
226226
"source": [
227-
"w.assign(0)\n",
227+
"w.zero()\n",
228228
"solver = create_solver(solver_parameters)\n",
229229
"solver.solve()\n",
230230
"convergence(solver)"
@@ -284,7 +284,7 @@
284284
"metadata": {},
285285
"outputs": [],
286286
"source": [
287-
"w.assign(0)\n",
287+
"w.zero()\n",
288288
"solver = create_solver(solver_parameters)\n",
289289
"solver.solve()\n",
290290
"convergence(solver)"
@@ -364,7 +364,7 @@
364364
"metadata": {},
365365
"outputs": [],
366366
"source": [
367-
"w.assign(0)\n",
367+
"w.zero()\n",
368368
"solver = create_solver(exact_inverse_parameters)\n",
369369
"solver.solve()\n",
370370
"convergence(solver)"
@@ -401,10 +401,11 @@
401401
"metadata": {},
402402
"outputs": [],
403403
"source": [
404-
"w_t = TrialFunction(W)\n",
405-
"_, p_t = split(w_t)\n",
404+
"trial = TrialFunction(W)\n",
405+
"_, p_t = split(trial)\n",
406406
"\n",
407-
"pmat = lhs(derivative(F, w, w_t)) - 1/nu * p_t * q*dx"
407+
"amat = lhs(derivative(F, w, trial))\n",
408+
"pmat = amat - 1/nu * p_t * q*dx"
408409
]
409410
},
410411
{
@@ -445,7 +446,7 @@
445446
"metadata": {},
446447
"outputs": [],
447448
"source": [
448-
"w.assign(0)\n",
449+
"w.zero()\n",
449450
"solver = create_solver(pmat_parameters, pmat=pmat)\n",
450451
"solver.solve()\n",
451452
"convergence(solver)"
@@ -474,9 +475,11 @@
474475
"class MassMatrix(AuxiliaryOperatorPC):\n",
475476
" _prefix = \"mass_\"\n",
476477
" def form(self, pc, test, trial):\n",
478+
" # Extract the original form and bcs\n",
479+
" a, bcs = super().form(pc, test, trial)\n",
477480
" # Grab the definition of nu from the user application context (a dict)\n",
478481
" nu = self.get_appctx(pc)[\"nu\"]\n",
479-
" return (-1/nu * test*trial*dx, None)"
482+
" return (-1/nu * test*trial*dx, bcs)"
480483
]
481484
},
482485
{
@@ -517,7 +520,7 @@
517520
"outputs": [],
518521
"source": [
519522
"appctx = {\"nu\": nu} # arbitrary user data that is available inside the user PC object\n",
520-
"w.assign(0)\n",
523+
"w.zero()\n",
521524
"solver = create_solver(mass_parameters, appctx=appctx)\n",
522525
"solver.solve()\n",
523526
"convergence(solver)"
@@ -564,7 +567,7 @@
564567
" \"ksp_type\": \"chebyshev\",\n",
565568
" \"ksp_max_it\": 2,\n",
566569
" \"pc_type\": \"python\",\n",
567-
" \"pc_python_type\": \"__main__.MassMatrix\",\n",
570+
" \"pc_python_type\": f\"{__name__}.MassMatrix\",\n",
568571
" \"mass_pc_type\": \"sor\",\n",
569572
" }\n",
570573
"}"
@@ -584,7 +587,7 @@
584587
"outputs": [],
585588
"source": [
586589
"appctx = {\"nu\": nu} # arbitrary user data that is available inside the user PC object\n",
587-
"w.assign(0)\n",
590+
"w.zero()\n",
588591
"solver = create_solver(fieldsplit_mg_parameters, appctx=appctx)\n",
589592
"solver.solve()\n",
590593
"convergence(solver)"
@@ -632,13 +635,10 @@
632635
" }\n",
633636
" },\n",
634637
" \"mg_coarse\": {\n",
638+
" \"mat_type\": \"aij\",\n",
635639
" \"ksp_type\": \"preonly\",\n",
636-
" \"pc_type\": \"python\",\n",
637-
" \"pc_python_type\": \"firedrake.AssembledPC\",\n",
638-
" \"assembled\": {\n",
639-
" \"pc_type\": \"lu\",\n",
640-
" \"pc_factor_mat_solver_type\": \"mumps\",\n",
641-
" }\n",
640+
" \"pc_type\": \"lu\",\n",
641+
" \"pc_factor_mat_solver_type\": \"mumps\",\n",
642642
" }\n",
643643
"}"
644644
]
@@ -656,7 +656,7 @@
656656
"metadata": {},
657657
"outputs": [],
658658
"source": [
659-
"#w.assign(0)\n",
659+
"#w.zero()\n",
660660
"#solver = create_solver(vanka_parameters)\n",
661661
"#solver.solve()\n",
662662
"#convergence(solver)"
@@ -686,7 +686,7 @@
686686
"name": "python",
687687
"nbconvert_exporter": "python",
688688
"pygments_lexer": "ipython3",
689-
"version": "3.12.10"
689+
"version": "3.12.3"
690690
}
691691
},
692692
"nbformat": 4,

11-extract-adjoint-solutions.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
{
44
"cell_type": "code",
55
"execution_count": null,
6-
"id": "610fdbfc",
6+
"id": "bd78b4f6",
77
"metadata": {},
88
"outputs": [],
99
"source": [

12-HPC_demo.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
{
44
"cell_type": "code",
55
"execution_count": null,
6-
"id": "bab929b1",
6+
"id": "67d3c465",
77
"metadata": {},
88
"outputs": [],
99
"source": [

0 commit comments

Comments
 (0)