run_GenEO_2d.ipynb
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Test Number 1: BNN without GenEO coarse space"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Subdomain number 0 contributes 0 coarse vectors as zero energy modes of local solver\n",
"Subdomain number 0 contributes 0 coarse vectors in total\n",
"Subdomain number 3 contributes 3 coarse vectors as zero energy modes of local solver\n",
"Subdomain number 1 contributes 3 coarse vectors as zero energy modes of local solver\n",
"Subdomain number 2 contributes 3 coarse vectors as zero energy modes of local solver\n",
"Subdomain number 3 contributes 3 coarse vectors in total\n",
"Subdomain number 2 contributes 3 coarse vectors in total\n",
"Subdomain number 1 contributes 3 coarse vectors in total\n",
"There are 9 vectors in the coarse space.\n",
" 0 KSP Residual norm 2.629268193443e+04 \n",
" 1 KSP Residual norm 7.136364363754e+03 \n",
" 2 KSP Residual norm 4.935460301360e+03 \n",
" 3 KSP Residual norm 5.263061115163e+01 \n",
" 4 KSP Residual norm 5.860110112786e+03 \n",
" 5 KSP Residual norm 1.097704862336e+03 \n",
" 6 KSP Residual norm 1.091612844527e+02 \n",
" 7 KSP Residual norm 8.764774542997e+00 \n",
" 8 KSP Residual norm 8.306826733219e+00 \n",
" 9 KSP Residual norm 2.423446070491e+02 \n",
" 10 KSP Residual norm 2.420845648289e+01 \n",
" 11 KSP Residual norm 1.283881717290e+03 \n",
" 12 KSP Residual norm 6.860695360345e+02 \n",
" 13 KSP Residual norm 1.046702092718e+01 \n",
" 14 KSP Residual norm 4.609780925584e+00 \n",
" 15 KSP Residual norm 5.423053294381e+01 \n",
" 16 KSP Residual norm 1.562887123519e+00 \n",
" 17 KSP Residual norm 9.796414223076e-01 \n",
" 18 KSP Residual norm 1.655128718404e+01 \n",
" 19 KSP Residual norm 2.423448882084e+00 \n",
" 20 KSP Residual norm 3.356323851406e-01 \n",
" 21 KSP Residual norm 1.996079106517e+02 \n",
" 22 KSP Residual norm 7.462050898455e+01 \n",
" 23 KSP Residual norm 2.518426331369e-02 \n"
]
}
],
"source": [
"!mpiexec -np 4 --oversubscribe python demo_GenEO_2d.py -AMPCG_verbose -ksp_monitor -PCBNN_verbose -PCBNN_GenEO false"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"from plot import plot_solution"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "c9d1b5da8e254431a1961b8cfc30225b",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(Renderer(camera=PerspectiveCamera(position=(0.0, 0.0, 13.0)), controls=[OrbitControls(controlli…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_solution('output_2d', 'solution_2d.vts')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Test Number 2: BNN with GenEO coarse space"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Subdomain number 0 contributes 0 coarse vectors as zero energy modes of local solver\n",
"Subdomain number 1 contributes 3 coarse vectors as zero energy modes of local solver\n",
"Subdomain number 2 contributes 3 coarse vectors as zero energy modes of local solver\n",
"Subdomain number 3 contributes 3 coarse vectors as zero energy modes of local solver\n",
"GenEO eigenvalue number 0 for lambdamax in subdomain 1: (1.4945905644205672e-06+0j)\n",
"GenEO eigenvalue number 1 for lambdamax in subdomain 1: (1.3826304534084137e-05+0j)\n",
"GenEO eigenvalue number 2 for lambdamax in subdomain 1: (4.5054862699016505e-05+0j)\n",
"GenEO eigenvalue number 3 for lambdamax in subdomain 1: (0.05405868128473235+0j)\n",
"GenEO eigenvalue number 4 for lambdamax in subdomain 1: (0.054059009027747504+0j)\n",
"GenEO eigenvalue number 5 for lambdamax in subdomain 1: (0.056663048124898245+0j)\n",
"GenEO eigenvalue number 6 for lambdamax in subdomain 1: (0.05707962286789531+0j)\n",
"GenEO eigenvalue number 7 for lambdamax in subdomain 1: (0.1590121284975672+0j)\n",
"GenEO eigenvalue number 8 for lambdamax in subdomain 1: (0.15905866059775023+0j)\n",
"GenEO eigenvalue number 9 for lambdamax in subdomain 1: (0.22127754627425406+0j) <-- not selected (> 0.2)\n",
"Subdomain number 1 contributes 12 coarse vectors after first GenEO\n",
"Subdomain number 1 contributes 12 coarse vectors in total\n",
"GenEO eigenvalue number 0 for lambdamax in subdomain 2: (1.4945905644205672e-06+0j)\n",
"GenEO eigenvalue number 1 for lambdamax in subdomain 2: (1.3826304534084137e-05+0j)\n",
"GenEO eigenvalue number 2 for lambdamax in subdomain 2: (4.5054862699016505e-05+0j)\n",
"GenEO eigenvalue number 3 for lambdamax in subdomain 2: (0.05405868128473235+0j)\n",
"GenEO eigenvalue number 4 for lambdamax in subdomain 2: (0.054059009027747504+0j)\n",
"GenEO eigenvalue number 5 for lambdamax in subdomain 2: (0.056663048124898245+0j)\n",
"GenEO eigenvalue number 6 for lambdamax in subdomain 2: (0.05707962286789531+0j)\n",
"GenEO eigenvalue number 7 for lambdamax in subdomain 2: (0.1590121284975672+0j)\n",
"GenEO eigenvalue number 8 for lambdamax in subdomain 2: (0.15905866059775023+0j)\n",
"GenEO eigenvalue number 9 for lambdamax in subdomain 2: (0.22127754627425406+0j) <-- not selected (> 0.2)\n",
"Subdomain number 2 contributes 12 coarse vectors after first GenEO\n",
"Subdomain number 2 contributes 12 coarse vectors in total\n",
"GenEO eigenvalue number 0 for lambdamax in subdomain 0: (0.00031732419879194125+0j)\n",
"GenEO eigenvalue number 1 for lambdamax in subdomain 0: (0.0003370240261628236+0j)\n",
"GenEO eigenvalue number 2 for lambdamax in subdomain 0: (0.028282401567833855+0j)\n",
"GenEO eigenvalue number 3 for lambdamax in subdomain 0: (0.028283168511417482+0j)\n",
"GenEO eigenvalue number 4 for lambdamax in subdomain 0: (0.111982986271491+0j)\n",
"GenEO eigenvalue number 5 for lambdamax in subdomain 0: (0.11219184197646168+0j)\n",
"GenEO eigenvalue number 6 for lambdamax in subdomain 0: (0.22129077270330236+0j) <-- not selected (> 0.2)\n",
"GenEO eigenvalue number 7 for lambdamax in subdomain 0: (0.2212907735051293+0j) <-- not selected (> 0.2)\n",
"GenEO eigenvalue number 8 for lambdamax in subdomain 0: (0.5564840670455399+0j) <-- not selected (> 0.2)\n",
"GenEO eigenvalue number 9 for lambdamax in subdomain 0: (0.5839813243185191+0j) <-- not selected (> 0.2)\n",
"Subdomain number 0 contributes 6 coarse vectors after first GenEO\n",
"This is BNN so eigmin = 1, no eigenvalue problem will be solved for eigmin\n",
"Subdomain number 0 contributes 6 coarse vectors in total\n",
"GenEO eigenvalue number 0 for lambdamax in subdomain 3: (2.1208234833446384e-05+0j)\n",
"GenEO eigenvalue number 1 for lambdamax in subdomain 3: (3.18585278025384e-05+0j)\n",
"GenEO eigenvalue number 2 for lambdamax in subdomain 3: (0.008267951049146533+0j)\n",
"GenEO eigenvalue number 3 for lambdamax in subdomain 3: (0.22129069514149202+0j) <-- not selected (> 0.2)\n",
"GenEO eigenvalue number 4 for lambdamax in subdomain 3: (0.22129069789192596+0j) <-- not selected (> 0.2)\n",
"GenEO eigenvalue number 5 for lambdamax in subdomain 3: (0.5564838682522003+0j) <-- not selected (> 0.2)\n",
"GenEO eigenvalue number 6 for lambdamax in subdomain 3: (0.5839813228857347+0j) <-- not selected (> 0.2)\n",
"GenEO eigenvalue number 7 for lambdamax in subdomain 3: (0.5839813229177968+0j) <-- not selected (> 0.2)\n",
"GenEO eigenvalue number 8 for lambdamax in subdomain 3: (0.6574284065235355+0j) <-- not selected (> 0.2)\n",
"GenEO eigenvalue number 9 for lambdamax in subdomain 3: (0.6574287754614184+0j) <-- not selected (> 0.2)\n",
"GenEO eigenvalue number 10 for lambdamax in subdomain 3: (0.8078884348812645+0j) <-- not selected (> 0.2)\n",
"Subdomain number 3 contributes 6 coarse vectors after first GenEO\n",
"Subdomain number 3 contributes 6 coarse vectors in total\n",
"There are 36 vectors in the coarse space.\n",
" 0 KSP Residual norm 2.853564386243e+00 \n",
" 1 KSP Residual norm 4.966612149978e+00 \n",
" 2 KSP Residual norm 2.582872672444e-01 \n",
" 3 KSP Residual norm 1.538708913259e-02 \n",
" 4 KSP Residual norm 1.367483750468e-03 \n",
" 5 KSP Residual norm 3.263132619873e-03 \n",
" 6 KSP Residual norm 8.954590180644e-05 \n",
" 7 KSP Residual norm 3.459158863878e-05 \n",
" 8 KSP Residual norm 8.138128387946e-07 \n",
"--------------------------------------------------------------------------\n",
"A system call failed during shared memory initialization that should\n",
"not have. It is likely that your MPI job will now either abort or\n",
"experience performance degradation.\n",
"\n",
" Local host: Nicole-Labo.local\n",
" System call: unlink(2) /var/folders/8p/hgpy6xb13m1fsls_0ft26twh0000gn/T//ompi.Nicole-Labo.501/pid.79809/1/vader_segment.Nicole-Labo.501.90070001.3\n",
" Error: No such file or directory (errno 2)\n",
"--------------------------------------------------------------------------\n"
]
}
],
"source": [
"!mpiexec -np 4 --oversubscribe python demo_GenEO_2d.py -AMPCG_verbose -ksp_monitor -PCBNN_verbose -PCBNN_GenEO true"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"from plot import plot_solution"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "2a0f295c81004f8a90f2c75de37affb6",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(Renderer(camera=PerspectiveCamera(position=(0.0, 0.0, 13.0)), controls=[OrbitControls(controlli…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_solution('output_2d', 'solution_2d.vts')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Test Number 3: BNN with GenEO coarse space and less strict tolerance than default\n",
"By default the target is $\\lambda_{\\text{max}}^{\\text{target}} = 100$, here we ask for $\\lambda_{\\text{max}}^{\\text{target}} = 1000$"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Subdomain number 0 contributes 0 coarse vectors as zero energy modes of local solver\n",
"Subdomain number 2 contributes 3 coarse vectors as zero energy modes of local solver\n",
"Subdomain number 3 contributes 3 coarse vectors as zero energy modes of local solver\n",
"Subdomain number 1 contributes 3 coarse vectors as zero energy modes of local solver\n",
"GenEO eigenvalue number 0 for lambdamax in subdomain 1: (1.4945905644205672e-06+0j)\n",
"GenEO eigenvalue number 1 for lambdamax in subdomain 1: (1.3826304534084137e-05+0j)\n",
"GenEO eigenvalue number 2 for lambdamax in subdomain 1: (4.5054862699016505e-05+0j)\n",
"GenEO eigenvalue number 3 for lambdamax in subdomain 1: (0.05405868128473235+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 4 for lambdamax in subdomain 1: (0.054059009027747504+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 5 for lambdamax in subdomain 1: (0.056663048124898245+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 6 for lambdamax in subdomain 1: (0.05707962286789531+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 7 for lambdamax in subdomain 1: (0.1590121284975672+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 8 for lambdamax in subdomain 1: (0.15905866059775023+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 9 for lambdamax in subdomain 1: (0.22127754627425406+0j) <-- not selected (> 0.002)\n",
"Subdomain number 1 contributes 6 coarse vectors after first GenEO\n",
"Subdomain number 1 contributes 6 coarse vectors in total\n",
"GenEO eigenvalue number 0 for lambdamax in subdomain 2: (1.4945905644205672e-06+0j)\n",
"GenEO eigenvalue number 1 for lambdamax in subdomain 2: (1.3826304534084137e-05+0j)\n",
"GenEO eigenvalue number 2 for lambdamax in subdomain 2: (4.5054862699016505e-05+0j)\n",
"GenEO eigenvalue number 3 for lambdamax in subdomain 2: (0.05405868128473235+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 4 for lambdamax in subdomain 2: (0.054059009027747504+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 5 for lambdamax in subdomain 2: (0.056663048124898245+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 6 for lambdamax in subdomain 2: (0.05707962286789531+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 7 for lambdamax in subdomain 2: (0.1590121284975672+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 8 for lambdamax in subdomain 2: (0.15905866059775023+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 9 for lambdamax in subdomain 2: (0.22127754627425406+0j) <-- not selected (> 0.002)\n",
"Subdomain number 2 contributes 6 coarse vectors after first GenEO\n",
"Subdomain number 2 contributes 6 coarse vectors in total\n",
"GenEO eigenvalue number 0 for lambdamax in subdomain 0: (0.00031732419879194125+0j)\n",
"GenEO eigenvalue number 1 for lambdamax in subdomain 0: (0.0003370240261628236+0j)\n",
"GenEO eigenvalue number 2 for lambdamax in subdomain 0: (0.028282401567833855+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 3 for lambdamax in subdomain 0: (0.028283168511417482+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 4 for lambdamax in subdomain 0: (0.111982986271491+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 5 for lambdamax in subdomain 0: (0.11219184197646168+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 6 for lambdamax in subdomain 0: (0.22129077270330236+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 7 for lambdamax in subdomain 0: (0.2212907735051293+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 8 for lambdamax in subdomain 0: (0.5564840670455399+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 9 for lambdamax in subdomain 0: (0.5839813243185191+0j) <-- not selected (> 0.002)\n",
"Subdomain number 0 contributes 2 coarse vectors after first GenEO\n",
"This is BNN so eigmin = 1, no eigenvalue problem will be solved for eigmin\n",
"Subdomain number 0 contributes 2 coarse vectors in total\n",
"GenEO eigenvalue number 0 for lambdamax in subdomain 3: (2.1208234833446384e-05+0j)\n",
"GenEO eigenvalue number 1 for lambdamax in subdomain 3: (3.18585278025384e-05+0j)\n",
"GenEO eigenvalue number 2 for lambdamax in subdomain 3: (0.008267951049146533+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 3 for lambdamax in subdomain 3: (0.22129069514149202+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 4 for lambdamax in subdomain 3: (0.22129069789192596+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 5 for lambdamax in subdomain 3: (0.5564838682522003+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 6 for lambdamax in subdomain 3: (0.5839813228857347+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 7 for lambdamax in subdomain 3: (0.5839813229177968+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 8 for lambdamax in subdomain 3: (0.6574284065235355+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 9 for lambdamax in subdomain 3: (0.6574287754614184+0j) <-- not selected (> 0.002)\n",
"GenEO eigenvalue number 10 for lambdamax in subdomain 3: (0.8078884348812645+0j) <-- not selected (> 0.002)\n",
"Subdomain number 3 contributes 5 coarse vectors after first GenEO\n",
"Subdomain number 3 contributes 5 coarse vectors in total\n",
"There are 19 vectors in the coarse space.\n",
" 0 KSP Residual norm 6.624560964727e+01 \n",
" 1 KSP Residual norm 6.711450314872e+00 \n",
" 2 KSP Residual norm 2.639853029733e-01 \n",
" 3 KSP Residual norm 1.966555729695e-02 \n",
" 4 KSP Residual norm 2.688426827986e-03 \n",
" 5 KSP Residual norm 6.525302455015e-03 \n",
" 6 KSP Residual norm 2.827952033537e-04 \n"
]
}
],
"source": [
"!mpiexec -np 4 --oversubscribe python demo_GenEO_2d.py -AMPCG_verbose -ksp_monitor -PCBNN_verbose -PCBNN_GenEO true -PCBNN_GenEO_eigmax 1000"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"from plot import plot_solution"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "64a8a935ab8e443591f8b73a6b92eff3",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(Renderer(camera=PerspectiveCamera(position=(0.0, 0.0, 13.0)), controls=[OrbitControls(controlli…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_solution('output_2d', 'solution_2d.vts')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Test Number 4: Additive Schwarz with GenEO coarse space"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The user has chosen to switch to Additive Schwarz instead of BNN.\n",
"Subdomain number 2 contributes 0 coarse vectors as zero energy modes of local solver\n",
"Subdomain number 1 contributes 0 coarse vectors as zero energy modes of local solver\n",
"Subdomain number 3 contributes 0 coarse vectors as zero energy modes of local solver\n",
"Subdomain number 0 contributes 0 coarse vectors as zero energy modes of local solver\n",
"This is classical additive Schwarz so eigmax = 2.0 (+1 if fully additive preconditioner), no eigenvalue problem will be solved for eigmax\n",
"Subdomain number 0 contributes 0 coarse vectors as zero energy modes of the scaled local operator (in GenEO for eigmin)\n",
"Subdomain number 2 contributes 3 coarse vectors as zero energy modes of the scaled local operator (in GenEO for eigmin)\n",
"Subdomain number 3 contributes 3 coarse vectors as zero energy modes of the scaled local operator (in GenEO for eigmin)\n",
"Subdomain number 1 contributes 3 coarse vectors as zero energy modes of the scaled local operator (in GenEO for eigmin)\n",
"GenEO eigenvalue number 0 for lambdamin in subdomain 2: (1.4945905644205685e-06+0j)\n",
"GenEO eigenvalue number 1 for lambdamin in subdomain 2: (1.3826304534084115e-05+0j)\n",
"GenEO eigenvalue number 2 for lambdamin in subdomain 2: (4.505486269901672e-05+0j)\n",
"GenEO eigenvalue number 3 for lambdamin in subdomain 2: (0.05405868128473257+0j)\n",
"GenEO eigenvalue number 4 for lambdamin in subdomain 2: (0.054059009027747594+0j)\n",
"GenEO eigenvalue number 5 for lambdamin in subdomain 2: (0.0566630481248983+0j)\n",
"GenEO eigenvalue number 6 for lambdamin in subdomain 2: (0.05707962286789529+0j)\n",
"GenEO eigenvalue number 7 for lambdamin in subdomain 2: (0.15901212849756435+0j) <-- not selected (> 0.1)\n",
"GenEO eigenvalue number 8 for lambdamin in subdomain 2: (0.15905866059774557+0j) <-- not selected (> 0.1)\n",
"GenEO eigenvalue number 9 for lambdamin in subdomain 2: (0.22127754627469343+0j) <-- not selected (> 0.1)\n",
"Subdomain number 2 contributes 10 coarse vectors in total\n",
"GenEO eigenvalue number 0 for lambdamin in subdomain 1: (1.4945905644205685e-06+0j)\n",
"GenEO eigenvalue number 1 for lambdamin in subdomain 1: (1.3826304534084115e-05+0j)\n",
"GenEO eigenvalue number 2 for lambdamin in subdomain 1: (4.505486269901672e-05+0j)\n",
"GenEO eigenvalue number 3 for lambdamin in subdomain 1: (0.05405868128473257+0j)\n",
"GenEO eigenvalue number 4 for lambdamin in subdomain 1: (0.054059009027747594+0j)\n",
"GenEO eigenvalue number 5 for lambdamin in subdomain 1: (0.0566630481248983+0j)\n",
"GenEO eigenvalue number 6 for lambdamin in subdomain 1: (0.05707962286789529+0j)\n",
"GenEO eigenvalue number 7 for lambdamin in subdomain 1: (0.15901212849756435+0j) <-- not selected (> 0.1)\n",
"GenEO eigenvalue number 8 for lambdamin in subdomain 1: (0.15905866059774557+0j) <-- not selected (> 0.1)\n",
"GenEO eigenvalue number 9 for lambdamin in subdomain 1: (0.22127754627469343+0j) <-- not selected (> 0.1)\n",
"Subdomain number 1 contributes 10 coarse vectors in total\n",
"GenEO eigenvalue number 0 for lambdamin in subdomain 0: (0.00031732419879194125+0j)\n",
"GenEO eigenvalue number 1 for lambdamin in subdomain 0: (0.0003370240261628236+0j)\n",
"GenEO eigenvalue number 2 for lambdamin in subdomain 0: (0.028282401567833855+0j)\n",
"GenEO eigenvalue number 3 for lambdamin in subdomain 0: (0.028283168511417482+0j)\n",
"GenEO eigenvalue number 4 for lambdamin in subdomain 0: (0.111982986271491+0j) <-- not selected (> 0.1)\n",
"GenEO eigenvalue number 5 for lambdamin in subdomain 0: (0.11219184197646168+0j) <-- not selected (> 0.1)\n",
"GenEO eigenvalue number 6 for lambdamin in subdomain 0: (0.22129077270330236+0j) <-- not selected (> 0.1)\n",
"GenEO eigenvalue number 7 for lambdamin in subdomain 0: (0.2212907735051293+0j) <-- not selected (> 0.1)\n",
"GenEO eigenvalue number 8 for lambdamin in subdomain 0: (0.5564840670455399+0j) <-- not selected (> 0.1)\n",
"GenEO eigenvalue number 9 for lambdamin in subdomain 0: (0.5839813243185191+0j) <-- not selected (> 0.1)\n",
"Subdomain number 0 contributes 4 coarse vectors in total\n",
"GenEO eigenvalue number 0 for lambdamin in subdomain 3: (2.1208234833446408e-05+0j)\n",
"GenEO eigenvalue number 1 for lambdamin in subdomain 3: (3.185852780254934e-05+0j)\n",
"GenEO eigenvalue number 2 for lambdamin in subdomain 3: (0.008267951049149007+0j)\n",
"GenEO eigenvalue number 3 for lambdamin in subdomain 3: (0.22129069514149105+0j) <-- not selected (> 0.1)\n",
"GenEO eigenvalue number 4 for lambdamin in subdomain 3: (0.22129069789192488+0j) <-- not selected (> 0.1)\n",
"GenEO eigenvalue number 5 for lambdamin in subdomain 3: (0.5564838682522003+0j) <-- not selected (> 0.1)\n",
"GenEO eigenvalue number 6 for lambdamin in subdomain 3: (0.583981322893095+0j) <-- not selected (> 0.1)\n",
"GenEO eigenvalue number 7 for lambdamin in subdomain 3: (0.5839813229104338+0j) <-- not selected (> 0.1)\n",
"GenEO eigenvalue number 8 for lambdamin in subdomain 3: (0.6574284065235037+0j) <-- not selected (> 0.1)\n",
"GenEO eigenvalue number 9 for lambdamin in subdomain 3: (0.6574287754614225+0j) <-- not selected (> 0.1)\n",
"GenEO eigenvalue number 10 for lambdamin in subdomain 3: (0.8078884348443285+0j) <-- not selected (> 0.1)\n",
"Subdomain number 3 contributes 6 coarse vectors in total\n",
"There are 30 vectors in the coarse space.\n",
" 0 KSP Residual norm 4.629956316580e+00 \n",
" 1 KSP Residual norm 1.917574142489e+00 \n",
" 2 KSP Residual norm 2.274917072116e+00 \n",
" 3 KSP Residual norm 3.455852228238e-01 \n",
" 4 KSP Residual norm 1.939840304250e-01 \n",
" 5 KSP Residual norm 2.326484704634e-01 \n",
" 6 KSP Residual norm 9.964194868328e-02 \n",
" 7 KSP Residual norm 1.894197347551e-02 \n",
" 8 KSP Residual norm 4.350109134410e-03 \n",
" 9 KSP Residual norm 3.511853159586e-03 \n",
" 10 KSP Residual norm 9.025485051546e-04 \n",
" 11 KSP Residual norm 1.104179904784e-04 \n",
" 12 KSP Residual norm 6.028933287553e-05 \n",
" 13 KSP Residual norm 3.166940876578e-05 \n"
]
}
],
"source": [
"!mpiexec -np 4 --oversubscribe python demo_GenEO_2d.py -AMPCG_verbose -ksp_monitor -PCBNN_verbose -PCBNN_GenEO true -PCBNN_switchtoASM true"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"from plot import plot_solution"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "c86051bf7a424e8fa8dd06528dfb6f4f",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(Renderer(camera=PerspectiveCamera(position=(0.0, 0.0, 13.0)), controls=[OrbitControls(controlli…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_solution('output_2d', 'solution_2d.vts')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.8"
}
},
"nbformat": 4,
"nbformat_minor": 2
}