diff --git a/docs/examples/patch_antenna.ipynb b/docs/examples/patch_antenna.ipynb index ea0d959..a353f03 100644 --- a/docs/examples/patch_antenna.ipynb +++ b/docs/examples/patch_antenna.ipynb @@ -360,7 +360,7 @@ "Info : [ 90%] Meshing curve 72 (Line)\n", "Info : [100%] Meshing curve 74 (Circle)\n", "Info : [100%] Meshing curve 76 (Line)\n", - "Info : Done meshing 1D (Wall 0.315112s, CPU 0.304625s)\n", + "Info : Done meshing 1D (Wall 0.236431s, CPU 0.227489s)\n", "Info : Meshing 2D...\n", "Info : [ 0%] Meshing surface 7 (Plane, MeshAdapt)\n", "Info : [ 20%] Meshing surface 8 (Plane, MeshAdapt)\n", @@ -372,16 +372,16 @@ "Info : [ 80%] Meshing surface 14 (Plane, MeshAdapt)\n", "Info : [ 90%] Meshing surface 15 (Plane, MeshAdapt)\n", "Info : [100%] Meshing surface 16 (Sphere, MeshAdapt)\n", - "Info : Done meshing 2D (Wall 0.521217s, CPU 0.520752s)\n", + "Info : Done meshing 2D (Wall 0.373643s, CPU 0.371467s)\n", "Info : Meshing 3D...\n", "Info : 3D Meshing 2 volumes with 1 connected component\n", "Info : Tetrahedrizing 3397 nodes...\n", - "Info : Done tetrahedrizing 3405 nodes (Wall 0.0292992s, CPU 0.02935s)\n", + "Info : Done tetrahedrizing 3405 nodes (Wall 0.0230094s, CPU 0.023024s)\n", "Info : Reconstructing mesh...\n", "Info : - Creating surface mesh\n", "Info : - Identifying boundary edges\n", "Info : - Recovering boundary\n", - "Info : Done reconstructing mesh (Wall 0.0670465s, CPU 0.06556s)\n", + "Info : Done reconstructing mesh (Wall 0.0450368s, CPU 0.044711s)\n", "Info : Found volume 2\n", "Info : Found volume 1\n", "Info : It. 0 - 0 nodes created - worst tet radius 11.0285 (nodes removed 0 0)\n", @@ -391,9 +391,9 @@ "Info : 3D refinement terminated (5056 nodes total):\n", "Info : - 1 Delaunay cavities modified for star shapeness\n", "Info : - 0 nodes could not be inserted\n", - "Info : - 28108 tetrahedra created in 0.203711 sec. (137979 tets/s)\n", + "Info : - 28108 tetrahedra created in 0.102852 sec. (273286 tets/s)\n", "Info : 0 node relocations\n", - "Info : Done meshing 3D (Wall 0.359638s, CPU 0.360193s)\n", + "Info : Done meshing 3D (Wall 0.196644s, CPU 0.196658s)\n", "Info : Optimizing mesh...\n", "Info : Optimizing volume 1\n", "Info : Optimization starts (volume = 4.68e-06) with worst = 0.00812265 / average = 0.606544:\n", @@ -407,9 +407,9 @@ "Info : 0.70 < quality < 0.80 : 1616 elements\n", "Info : 0.80 < quality < 0.90 : 1061 elements\n", "Info : 0.90 < quality < 1.00 : 416 elements\n", - "Info : 289 edge swaps, 11 node relocations (volume = 4.68e-06): worst = 0.146028 / average = 0.618471 (Wall 0.00366789s, CPU 0.003743s)\n", - "Info : 304 edge swaps, 15 node relocations (volume = 4.68e-06): worst = 0.158684 / average = 0.618763 (Wall 0.00486241s, CPU 0.004979s)\n", - "Info : 308 edge swaps, 17 node relocations (volume = 4.68e-06): worst = 0.158684 / average = 0.61881 (Wall 0.0059674s, CPU 0.006105s)\n", + "Info : 289 edge swaps, 11 node relocations (volume = 4.68e-06): worst = 0.146028 / average = 0.618471 (Wall 0.0025048s, CPU 0.002533s)\n", + "Info : 304 edge swaps, 15 node relocations (volume = 4.68e-06): worst = 0.158684 / average = 0.618763 (Wall 0.00341546s, CPU 0.003466s)\n", + "Info : 308 edge swaps, 17 node relocations (volume = 4.68e-06): worst = 0.158684 / average = 0.61881 (Wall 0.00427831s, CPU 0.00435s)\n", "Info : No ill-shaped tets in the mesh :-)\n", "Info : 0.00 < quality < 0.10 : 0 elements\n", "Info : 0.10 < quality < 0.20 : 6 elements\n", @@ -433,8 +433,8 @@ "Info : 0.70 < quality < 0.80 : 3145 elements\n", "Info : 0.80 < quality < 0.90 : 2391 elements\n", "Info : 0.90 < quality < 1.00 : 766 elements\n", - "Info : 673 edge swaps, 61 node relocations (volume = 0.00309809): worst = 0.0962665 / average = 0.637204 (Wall 0.0104227s, CPU 0.010447s)\n", - "Info : 708 edge swaps, 74 node relocations (volume = 0.00309809): worst = 0.0962665 / average = 0.637422 (Wall 0.0131491s, CPU 0.013251s)\n", + "Info : 673 edge swaps, 61 node relocations (volume = 0.00309809): worst = 0.0962665 / average = 0.637204 (Wall 0.00600244s, CPU 0.006037s)\n", + "Info : 708 edge swaps, 74 node relocations (volume = 0.00309809): worst = 0.0962665 / average = 0.637422 (Wall 0.00803917s, CPU 0.00811s)\n", "Info : No ill-shaped tets in the mesh :-)\n", "Info : 0.00 < quality < 0.10 : 1 elements\n", "Info : 0.10 < quality < 0.20 : 33 elements\n", @@ -446,7 +446,7 @@ "Info : 0.70 < quality < 0.80 : 3189 elements\n", "Info : 0.80 < quality < 0.90 : 2405 elements\n", "Info : 0.90 < quality < 1.00 : 769 elements\n", - "Info : Done optimizing mesh (Wall 0.038121s, CPU 0.037489s)\n", + "Info : Done optimizing mesh (Wall 0.0239096s, CPU 0.024129s)\n", "Info : 5056 nodes 35023 elements\n", "Info : Optimizing mesh (Netgen)...\n", "Info : Optimizing volume 1\n", @@ -607,10 +607,10 @@ "Info : ImproveMesh \n", "Info : Total badness = 26368.2 \n", "Info : Total badness = 26301.2 \n", - "Info : Done optimizing mesh (Wall 1.16175s, CPU 1.16509s)\n", + "Info : Done optimizing mesh (Wall 0.859175s, CPU 0.860999s)\n", "Info : Writing 'patch_antenna.msh'...\n", - "Mesh saved to patch_antenna.msh\n", - "Info : Done writing 'patch_antenna.msh'\n", + "Mesh saved to patch_antenna.mshInfo : Done writing 'patch_antenna.msh'\n", + "\n", " Nodes: 5094\n", " Elements: 34488\n", "Info : Writing 'patch_antenna.msh'...\n", @@ -708,31 +708,24 @@ { "data": { "text/html": [ - "
" ], @@ -774,7 +767,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "8a378602", "metadata": { "execution": { @@ -823,10 +816,56 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "9d7b7f83", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Palace config written to patch.config\n" + ] + }, + { + "data": { + "text/plain": [ + "{'Problem': {'Type': 'Driven', 'Verbose': 2, 'Output': 'postpro/patch'},\n", + " 'Model': {'Mesh': 'patch_antenna.msh', 'L0': 1.0, 'Refinement': {}},\n", + " 'Domains': {'Materials': [{'Attributes': [1],\n", + " 'Permeability': 1.0,\n", + " 'Permittivity': 1.0,\n", + " 'LossTan': 0.0},\n", + " {'Attributes': [2],\n", + " 'Permeability': 1.0,\n", + " 'Permittivity': 2.2,\n", + " 'LossTan': 0.0009}]},\n", + " 'Boundaries': {'PEC': {'Attributes': [3, 4]},\n", + " 'Absorbing': {'Attributes': [6], 'Order': 2},\n", + " 'LumpedPort': [{'Index': 1,\n", + " 'Attributes': [5],\n", + " 'R': 50.0,\n", + " 'Excitation': True,\n", + " 'Direction': '+Z'}],\n", + " 'Postprocessing': {'FarField': {'Attributes': [6], 'NSample': 16000}}},\n", + " 'Solver': {'Order': 2,\n", + " 'Device': 'CPU',\n", + " 'Driven': {'MinFreq': 2.5,\n", + " 'MaxFreq': 4,\n", + " 'FreqStep': 0.025,\n", + " 'SaveStep': 5,\n", + " 'AdaptiveTol': 0.001},\n", + " 'Linear': {'Type': 'Default',\n", + " 'KSPType': 'GMRES',\n", + " 'Tol': 1e-08,\n", + " 'MaxIts': 500}}}" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "generate_palace_config_from_entities(entity_defs = [e.to_dict() for e in entities],\n", " pg_map = pg_map,\n", @@ -851,10 +890,1482 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "b60b1c59", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Running: /home/martin/.cache/palacetoolkit/runtime/palace-cpu-v0.1.2/bin/palace -np 16 /home/martin/Desktop/PalaceToolkit/docs/examples/patch.config\n", + ">> /usr/bin/mpirun -n 16 /home/martin/.cache/palacetoolkit/runtime/palace-cpu-v0.1.2/bin/palace-x86_64.bin /home/martin/Desktop/PalaceToolkit/docs/examples/patch.config\n", + "\n", + "_____________ _______\n", + "_____ __ \\____ __ /____ ____________\n", + "____ /_/ / __ ` / / __ ` / ___/ _ \\\n", + "___ _____/ /_/ / / /_/ / /__/ ___/\n", + " /__/ \\___,__/__/\\___,__/\\_____\\_____/\n", + "\n", + "\n", + "\u001b[38;2;255;255;000m--> Warning!\u001b[0m\n", + "Output folder is not empty; program will overwrite content! (postpro/patch)\n", + "Git changeset ID: v0.16.1-51-g4f2e2d97\n", + "Running with 16 MPI processes, 1 OpenMP thread\n", + "Device configuration: omp,cpu\n", + "Memory configuration: host-std\n", + "libCEED backend: /cpu/self/xsmm/blocked\n", + "\n", + "Added 1324 duplicate vertices for interior boundaries in the mesh\n", + "Added 3457 duplicate boundary elements for interior boundaries in the mesh\n", + "\n", + "Characteristic length and time scales:\n", + " Lc = 1.818e-01 m, tc = 6.065e-01 ns\n", + "Finished partitioning mesh into 16 subdomains\n", + "\n", + "Mesh curvature order: 1\n", + "Mesh bounding box:\n", + " (Xmin, Ymin, Zmin) = (-9.062e-02, -9.058e-02, -9.091e-02) m\n", + " (Xmax, Ymax, Zmax) = (+9.091e-02, +9.067e-02, +9.091e-02) m\n", + "\n", + "Parallel Mesh Stats:\n", + "\n", + " minimum average maximum total\n", + " vertices 312 401 457 6418\n", + " edges 2047 2317 2478 37083\n", + " faces 3362 3591 3738 57462\n", + " elements 1625 1674 1724 26794\n", + " neighbors 3 7 14\n", + "\n", + " minimum maximum\n", + " h 0.000933774 0.172125\n", + " kappa 1.09793 18.2995\n", + "\n", + "Estimated current per-rank memory usage is: Min. 51.0M, Max. 69.5M, Avg. 53.0M, Total 847.3M\n", + "Estimated current per-node memory usage is: Min. 849.4M, Max. 849.4M, Avg. 849.4M, Total 849.4M\n", + "\n", + "Configuring Robin absorbing BC (order 2) at attributes:\n", + " 6\n", + "\n", + "Configuring Robin impedance BC for lumped ports at attributes:\n", + " 5: Rs = 7.692e+01 Ω/sq, n = (-1.0,+0.0,+0.0)\n", + "\n", + "Configuring lumped port circuit properties:\n", + " Index = 1: R = 5.000e+01 Ω\n", + "\n", + "Configuring lumped port excitation source term at attributes:\n", + " 5: Index = 1\n", + "\n", + "Configuring Dirichlet PEC BC at attributes:\n", + " 3-4\n", + "\n", + "Computing adaptive fast frequency response for:\n", + "Excitation with index 1 has contributions from:\n", + " Lumped port 1\n", + "\n", + "Beginning PROM construction offline phase:\n", + " 61 points for frequency sweep over [2.500e+00, 4.000e+00] GHz\n", + "\n", + "Assembling system matrices, number of global unknowns:\n", + " H1 (p = 2): 43501, ND (p = 2): 189090, RT (p = 2): 252768\n", + " Operator assembly level: Partial\n", + " Mesh geometries:\n", + " Tetrahedron: P = 20, Q = 14 (quadrature order = 4)\n", + "\n", + "Assembling multigrid hierarchy:\n", + " Level 0 (p = 1): 37083 unknowns\n", + " Level 1 (p = 2): 189090 unknowns\n", + " Level 0 (auxiliary) (p = 1): 6418 unknowns\n", + " Level 1 (auxiliary) (p = 2): 43501 unknowns\n", + "\n", + " Residual norms for GMRES solve\n", + " 0 (restart 0) KSP residual norm 3.483989e+01\n", + " 1 (restart 0) KSP residual norm 1.638033e+01\n", + " 2 (restart 0) KSP residual norm 1.595283e+01\n", + " 3 (restart 0) KSP residual norm 6.785846e+00\n", + " 4 (restart 0) KSP residual norm 6.778450e+00\n", + " 5 (restart 0) KSP residual norm 3.702500e+00\n", + " 6 (restart 0) KSP residual norm 3.687719e+00\n", + " 7 (restart 0) KSP residual norm 2.833579e+00\n", + " 8 (restart 0) KSP residual norm 2.685200e+00\n", + " 9 (restart 0) KSP residual norm 2.439460e+00\n", + " 10 (restart 0) KSP residual norm 2.304808e+00\n", + " 11 (restart 0) KSP residual norm 2.176711e+00\n", + " 12 (restart 0) KSP residual norm 2.088950e+00\n", + " 13 (restart 0) KSP residual norm 1.814150e+00\n", + " 14 (restart 0) KSP residual norm 1.769837e+00\n", + " 15 (restart 0) KSP residual norm 1.268215e+00\n", + " 16 (restart 0) KSP residual norm 1.179278e+00\n", + " 17 (restart 0) KSP residual norm 9.180005e-01\n", + " 18 (restart 0) KSP residual norm 8.574307e-01\n", + " 19 (restart 0) KSP residual norm 7.436316e-01\n", + " 20 (restart 0) KSP residual norm 7.354207e-01\n", + " 21 (restart 0) KSP residual norm 6.041496e-01\n", + " 22 (restart 0) KSP residual norm 5.836149e-01\n", + " 23 (restart 0) KSP residual norm 4.773363e-01\n", + " 24 (restart 0) KSP residual norm 4.423789e-01\n", + " 25 (restart 0) KSP residual norm 3.990211e-01\n", + " 26 (restart 0) KSP residual norm 3.768231e-01\n", + " 27 (restart 0) KSP residual norm 3.253256e-01\n", + " 28 (restart 0) KSP residual norm 3.046586e-01\n", + " 29 (restart 0) KSP residual norm 2.735369e-01\n", + " 30 (restart 0) KSP residual norm 2.442329e-01\n", + " 31 (restart 0) KSP residual norm 2.248002e-01\n", + " 32 (restart 0) KSP residual norm 1.915834e-01\n", + " 33 (restart 0) KSP residual norm 1.731497e-01\n", + " 34 (restart 0) KSP residual norm 1.516500e-01\n", + " 35 (restart 0) KSP residual norm 1.306338e-01\n", + " 36 (restart 0) KSP residual norm 1.151003e-01\n", + " 37 (restart 0) KSP residual norm 1.017698e-01\n", + " 38 (restart 0) KSP residual norm 8.946518e-02\n", + " 39 (restart 0) KSP residual norm 8.162207e-02\n", + " 40 (restart 0) KSP residual norm 6.826053e-02\n", + " 41 (restart 0) KSP residual norm 5.849272e-02\n", + " 42 (restart 0) KSP residual norm 4.649408e-02\n", + " 43 (restart 0) KSP residual norm 3.906652e-02\n", + " 44 (restart 0) KSP residual norm 3.337561e-02\n", + " 45 (restart 0) KSP residual norm 2.745105e-02\n", + " 46 (restart 0) KSP residual norm 2.238034e-02\n", + " 47 (restart 0) KSP residual norm 1.945662e-02\n", + " 48 (restart 0) KSP residual norm 1.604033e-02\n", + " 49 (restart 0) KSP residual norm 1.320134e-02\n", + " 50 (restart 0) KSP residual norm 1.139103e-02\n", + " 51 (restart 0) KSP residual norm 9.516884e-03\n", + " 52 (restart 0) KSP residual norm 7.978735e-03\n", + " 53 (restart 0) KSP residual norm 6.978859e-03\n", + " 54 (restart 0) KSP residual norm 6.057595e-03\n", + " 55 (restart 0) KSP residual norm 5.122472e-03\n", + " 56 (restart 0) KSP residual norm 4.177217e-03\n", + " 57 (restart 0) KSP residual norm 3.483511e-03\n", + " 58 (restart 0) KSP residual norm 2.881101e-03\n", + " 59 (restart 0) KSP residual norm 2.284306e-03\n", + " 60 (restart 0) KSP residual norm 1.687449e-03\n", + " 61 (restart 0) KSP residual norm 1.378651e-03\n", + " 62 (restart 0) KSP residual norm 1.054077e-03\n", + " 63 (restart 0) KSP residual norm 8.102737e-04\n", + " 64 (restart 0) KSP residual norm 5.994272e-04\n", + " 65 (restart 0) KSP residual norm 4.876721e-04\n", + " 66 (restart 0) KSP residual norm 3.688129e-04\n", + " 67 (restart 0) KSP residual norm 2.817588e-04\n", + " 68 (restart 0) KSP residual norm 2.178700e-04\n", + " 69 (restart 0) KSP residual norm 1.695158e-04\n", + " 70 (restart 0) KSP residual norm 1.376695e-04\n", + " 71 (restart 0) KSP residual norm 1.031975e-04\n", + " 72 (restart 0) KSP residual norm 7.942367e-05\n", + " 73 (restart 0) KSP residual norm 6.557393e-05\n", + " 74 (restart 0) KSP residual norm 5.005595e-05\n", + " 75 (restart 0) KSP residual norm 3.913512e-05\n", + " 76 (restart 0) KSP residual norm 3.177019e-05\n", + " 77 (restart 0) KSP residual norm 2.441544e-05\n", + " 78 (restart 0) KSP residual norm 1.849384e-05\n", + " 79 (restart 0) KSP residual norm 1.370196e-05\n", + " 80 (restart 0) KSP residual norm 1.053222e-05\n", + " 81 (restart 0) KSP residual norm 8.183339e-06\n", + " 82 (restart 0) KSP residual norm 6.130604e-06\n", + " 83 (restart 0) KSP residual norm 4.489035e-06\n", + " 84 (restart 0) KSP residual norm 3.393996e-06\n", + " 85 (restart 0) KSP residual norm 2.579677e-06\n", + " 86 (restart 0) KSP residual norm 1.855782e-06\n", + " 87 (restart 0) KSP residual norm 1.421381e-06\n", + " 88 (restart 0) KSP residual norm 1.038339e-06\n", + " 89 (restart 0) KSP residual norm 7.509084e-07\n", + " 90 (restart 0) KSP residual norm 5.502241e-07\n", + " 91 (restart 0) KSP residual norm 4.096127e-07\n", + " 92 (restart 0) KSP residual norm 3.103170e-07\n", + "GMRES solver converged in 92 iterations (avg. reduction factor: 8.175e-01)\n", + " Field energy E (9.443e-11 J) + H (8.540e-11 J) = 1.798e-10 J\n", + "\n", + " Residual norms for GMRES solve\n", + " 0 (restart 0) KSP residual norm 6.127287e+02\n", + " 1 (restart 0) KSP residual norm 4.133755e+02\n", + " 2 (restart 0) KSP residual norm 1.524727e+02\n", + " 3 (restart 0) KSP residual norm 2.562884e+01\n", + " 4 (restart 0) KSP residual norm 1.342230e+01\n", + " 5 (restart 0) KSP residual norm 1.209925e+01\n", + " 6 (restart 0) KSP residual norm 9.415011e+00\n", + " 7 (restart 0) KSP residual norm 8.309334e+00\n", + " 8 (restart 0) KSP residual norm 5.956349e+00\n", + " 9 (restart 0) KSP residual norm 5.499117e+00\n", + " 10 (restart 0) KSP residual norm 4.871423e+00\n", + " 11 (restart 0) KSP residual norm 4.446807e+00\n", + " 12 (restart 0) KSP residual norm 4.323772e+00\n", + " 13 (restart 0) KSP residual norm 3.666343e+00\n", + " 14 (restart 0) KSP residual norm 3.346962e+00\n", + " 15 (restart 0) KSP residual norm 3.037226e+00\n", + " 16 (restart 0) KSP residual norm 2.860766e+00\n", + " 17 (restart 0) KSP residual norm 2.484136e+00\n", + " 18 (restart 0) KSP residual norm 2.303107e+00\n", + " 19 (restart 0) KSP residual norm 2.050596e+00\n", + " 20 (restart 0) KSP residual norm 1.934924e+00\n", + " 21 (restart 0) KSP residual norm 1.720610e+00\n", + " 22 (restart 0) KSP residual norm 1.519782e+00\n", + " 23 (restart 0) KSP residual norm 1.440875e+00\n", + " 24 (restart 0) KSP residual norm 1.287882e+00\n", + " 25 (restart 0) KSP residual norm 1.107643e+00\n", + " 26 (restart 0) KSP residual norm 1.025571e+00\n", + " 27 (restart 0) KSP residual norm 9.424809e-01\n", + " 28 (restart 0) KSP residual norm 8.875850e-01\n", + " 29 (restart 0) KSP residual norm 8.041387e-01\n", + " 30 (restart 0) KSP residual norm 7.352586e-01\n", + " 31 (restart 0) KSP residual norm 6.196269e-01\n", + " 32 (restart 0) KSP residual norm 5.701512e-01\n", + " 33 (restart 0) KSP residual norm 4.908969e-01\n", + " 34 (restart 0) KSP residual norm 4.713662e-01\n", + " 35 (restart 0) KSP residual norm 3.834599e-01\n", + " 36 (restart 0) KSP residual norm 3.166544e-01\n", + " 37 (restart 0) KSP residual norm 2.843801e-01\n", + " 38 (restart 0) KSP residual norm 2.341915e-01\n", + " 39 (restart 0) KSP residual norm 2.028657e-01\n", + " 40 (restart 0) KSP residual norm 1.830838e-01\n", + " 41 (restart 0) KSP residual norm 1.527841e-01\n", + " 42 (restart 0) KSP residual norm 1.386398e-01\n", + " 43 (restart 0) KSP residual norm 1.189579e-01\n", + " 44 (restart 0) KSP residual norm 9.824002e-02\n", + " 45 (restart 0) KSP residual norm 8.667564e-02\n", + " 46 (restart 0) KSP residual norm 7.410323e-02\n", + " 47 (restart 0) KSP residual norm 6.769035e-02\n", + " 48 (restart 0) KSP residual norm 5.549277e-02\n", + " 49 (restart 0) KSP residual norm 4.946804e-02\n", + " 50 (restart 0) KSP residual norm 4.226992e-02\n", + " 51 (restart 0) KSP residual norm 3.536169e-02\n", + " 52 (restart 0) KSP residual norm 3.194277e-02\n", + " 53 (restart 0) KSP residual norm 2.479068e-02\n", + " 54 (restart 0) KSP residual norm 2.107365e-02\n", + " 55 (restart 0) KSP residual norm 1.667650e-02\n", + " 56 (restart 0) KSP residual norm 1.350032e-02\n", + " 57 (restart 0) KSP residual norm 1.097500e-02\n", + " 58 (restart 0) KSP residual norm 9.149061e-03\n", + " 59 (restart 0) KSP residual norm 7.239501e-03\n", + " 60 (restart 0) KSP residual norm 5.479457e-03\n", + " 61 (restart 0) KSP residual norm 4.315327e-03\n", + " 62 (restart 0) KSP residual norm 3.204613e-03\n", + " 63 (restart 0) KSP residual norm 2.504098e-03\n", + " 64 (restart 0) KSP residual norm 1.951110e-03\n", + " 65 (restart 0) KSP residual norm 1.456591e-03\n", + " 66 (restart 0) KSP residual norm 1.081992e-03\n", + " 67 (restart 0) KSP residual norm 8.312153e-04\n", + " 68 (restart 0) KSP residual norm 6.614283e-04\n", + " 69 (restart 0) KSP residual norm 5.144312e-04\n", + " 70 (restart 0) KSP residual norm 4.159172e-04\n", + " 71 (restart 0) KSP residual norm 3.222218e-04\n", + " 72 (restart 0) KSP residual norm 2.523205e-04\n", + " 73 (restart 0) KSP residual norm 1.931220e-04\n", + " 74 (restart 0) KSP residual norm 1.470466e-04\n", + " 75 (restart 0) KSP residual norm 1.212632e-04\n", + " 76 (restart 0) KSP residual norm 9.132374e-05\n", + " 77 (restart 0) KSP residual norm 6.646041e-05\n", + " 78 (restart 0) KSP residual norm 5.102816e-05\n", + " 79 (restart 0) KSP residual norm 3.905517e-05\n", + " 80 (restart 0) KSP residual norm 2.732811e-05\n", + " 81 (restart 0) KSP residual norm 2.035191e-05\n", + " 82 (restart 0) KSP residual norm 1.629701e-05\n", + " 83 (restart 0) KSP residual norm 1.241005e-05\n", + " 84 (restart 0) KSP residual norm 9.646276e-06\n", + " 85 (restart 0) KSP residual norm 7.234284e-06\n", + " 86 (restart 0) KSP residual norm 5.387659e-06\n", + "GMRES solver converged in 86 iterations (avg. reduction factor: 8.060e-01)\n", + " Field energy E (1.791e-10 J) + H (1.403e-10 J) = 3.194e-10 J\n", + "\n", + " Residual norms for GMRES solve\n", + " 0 (restart 0) KSP residual norm 6.422833e+01\n", + " 1 (restart 0) KSP residual norm 5.909908e+01\n", + " 2 (restart 0) KSP residual norm 5.731930e+01\n", + " 3 (restart 0) KSP residual norm 5.590266e+01\n", + " 4 (restart 0) KSP residual norm 3.557516e+01\n", + " 5 (restart 0) KSP residual norm 3.359920e+01\n", + " 6 (restart 0) KSP residual norm 2.908714e+01\n", + " 7 (restart 0) KSP residual norm 2.828656e+01\n", + " 8 (restart 0) KSP residual norm 1.824952e+01\n", + " 9 (restart 0) KSP residual norm 1.660275e+01\n", + " 10 (restart 0) KSP residual norm 1.452791e+01\n", + " 11 (restart 0) KSP residual norm 1.269428e+01\n", + " 12 (restart 0) KSP residual norm 1.179351e+01\n", + " 13 (restart 0) KSP residual norm 9.919147e+00\n", + " 14 (restart 0) KSP residual norm 9.655951e+00\n", + " 15 (restart 0) KSP residual norm 8.117533e+00\n", + " 16 (restart 0) KSP residual norm 7.947305e+00\n", + " 17 (restart 0) KSP residual norm 6.807874e+00\n", + " 18 (restart 0) KSP residual norm 6.576186e+00\n", + " 19 (restart 0) KSP residual norm 6.048569e+00\n", + " 20 (restart 0) KSP residual norm 5.941768e+00\n", + " 21 (restart 0) KSP residual norm 5.424400e+00\n", + " 22 (restart 0) KSP residual norm 5.098727e+00\n", + " 23 (restart 0) KSP residual norm 4.684337e+00\n", + " 24 (restart 0) KSP residual norm 4.367407e+00\n", + " 25 (restart 0) KSP residual norm 3.891868e+00\n", + " 26 (restart 0) KSP residual norm 3.353459e+00\n", + " 27 (restart 0) KSP residual norm 2.876110e+00\n", + " 28 (restart 0) KSP residual norm 2.428272e+00\n", + " 29 (restart 0) KSP residual norm 2.157620e+00\n", + " 30 (restart 0) KSP residual norm 1.706710e+00\n", + " 31 (restart 0) KSP residual norm 1.350227e+00\n", + " 32 (restart 0) KSP residual norm 1.175448e+00\n", + " 33 (restart 0) KSP residual norm 9.741625e-01\n", + " 34 (restart 0) KSP residual norm 8.417918e-01\n", + " 35 (restart 0) KSP residual norm 6.693608e-01\n", + " 36 (restart 0) KSP residual norm 5.823043e-01\n", + " 37 (restart 0) KSP residual norm 4.329445e-01\n", + " 38 (restart 0) KSP residual norm 3.945657e-01\n", + " 39 (restart 0) KSP residual norm 3.559011e-01\n", + " 40 (restart 0) KSP residual norm 3.183543e-01\n", + " 41 (restart 0) KSP residual norm 2.822484e-01\n", + " 42 (restart 0) KSP residual norm 2.354904e-01\n", + " 43 (restart 0) KSP residual norm 1.953934e-01\n", + " 44 (restart 0) KSP residual norm 1.698437e-01\n", + " 45 (restart 0) KSP residual norm 1.295485e-01\n", + " 46 (restart 0) KSP residual norm 1.134569e-01\n", + " 47 (restart 0) KSP residual norm 9.492531e-02\n", + " 48 (restart 0) KSP residual norm 8.203244e-02\n", + " 49 (restart 0) KSP residual norm 6.971183e-02\n", + " 50 (restart 0) KSP residual norm 5.785595e-02\n", + " 51 (restart 0) KSP residual norm 4.982094e-02\n", + " 52 (restart 0) KSP residual norm 4.149603e-02\n", + " 53 (restart 0) KSP residual norm 3.486490e-02\n", + " 54 (restart 0) KSP residual norm 2.821372e-02\n", + " 55 (restart 0) KSP residual norm 2.193128e-02\n", + " 56 (restart 0) KSP residual norm 1.849151e-02\n", + " 57 (restart 0) KSP residual norm 1.397141e-02\n", + " 58 (restart 0) KSP residual norm 1.193903e-02\n", + " 59 (restart 0) KSP residual norm 9.572595e-03\n", + " 60 (restart 0) KSP residual norm 8.309780e-03\n", + " 61 (restart 0) KSP residual norm 6.768526e-03\n", + " 62 (restart 0) KSP residual norm 5.476860e-03\n", + " 63 (restart 0) KSP residual norm 4.321610e-03\n", + " 64 (restart 0) KSP residual norm 3.395052e-03\n", + " 65 (restart 0) KSP residual norm 2.732107e-03\n", + " 66 (restart 0) KSP residual norm 2.275156e-03\n", + " 67 (restart 0) KSP residual norm 1.850842e-03\n", + " 68 (restart 0) KSP residual norm 1.566182e-03\n", + " 69 (restart 0) KSP residual norm 1.287659e-03\n", + " 70 (restart 0) KSP residual norm 1.062755e-03\n", + " 71 (restart 0) KSP residual norm 8.530118e-04\n", + " 72 (restart 0) KSP residual norm 7.176268e-04\n", + " 73 (restart 0) KSP residual norm 5.847050e-04\n", + " 74 (restart 0) KSP residual norm 4.371709e-04\n", + " 75 (restart 0) KSP residual norm 3.485502e-04\n", + " 76 (restart 0) KSP residual norm 2.837566e-04\n", + " 77 (restart 0) KSP residual norm 2.237954e-04\n", + " 78 (restart 0) KSP residual norm 1.801038e-04\n", + " 79 (restart 0) KSP residual norm 1.385508e-04\n", + " 80 (restart 0) KSP residual norm 1.107846e-04\n", + " 81 (restart 0) KSP residual norm 8.797957e-05\n", + " 82 (restart 0) KSP residual norm 7.087791e-05\n", + " 83 (restart 0) KSP residual norm 5.806354e-05\n", + " 84 (restart 0) KSP residual norm 4.537038e-05\n", + " 85 (restart 0) KSP residual norm 3.556853e-05\n", + " 86 (restart 0) KSP residual norm 2.797601e-05\n", + " 87 (restart 0) KSP residual norm 2.228275e-05\n", + " 88 (restart 0) KSP residual norm 1.788914e-05\n", + " 89 (restart 0) KSP residual norm 1.436337e-05\n", + " 90 (restart 0) KSP residual norm 1.171775e-05\n", + " 91 (restart 0) KSP residual norm 9.777471e-06\n", + " 92 (restart 0) KSP residual norm 8.014507e-06\n", + " 93 (restart 0) KSP residual norm 6.564083e-06\n", + " 94 (restart 0) KSP residual norm 5.256535e-06\n", + " 95 (restart 0) KSP residual norm 4.363411e-06\n", + " 96 (restart 0) KSP residual norm 3.416353e-06\n", + " 97 (restart 0) KSP residual norm 2.825313e-06\n", + " 98 (restart 0) KSP residual norm 2.314622e-06\n", + " 99 (restart 0) KSP residual norm 1.992927e-06\n", + "100 (restart 0) KSP residual norm 1.682405e-06\n", + "101 (restart 0) KSP residual norm 1.396012e-06\n", + "102 (restart 0) KSP residual norm 1.110892e-06\n", + "103 (restart 0) KSP residual norm 8.639034e-07\n", + "104 (restart 0) KSP residual norm 6.714228e-07\n", + "105 (restart 0) KSP residual norm 5.408358e-07\n", + "GMRES solver converged in 105 iterations (avg. reduction factor: 8.377e-01)\n", + "\n", + "Greedy iteration 1 (n = 4): ω* = 3.433e+00 GHz (1.308e+01), error = 9.133e-01, memory = 0/2\n", + " Field energy E (3.855e-10 J) + H (3.762e-10 J) = 7.617e-10 J\n", + "\n", + " Residual norms for GMRES solve\n", + " 0 (restart 0) KSP residual norm 6.751877e+01\n", + " 1 (restart 0) KSP residual norm 6.452576e+01\n", + " 2 (restart 0) KSP residual norm 6.398192e+01\n", + " 3 (restart 0) KSP residual norm 6.297234e+01\n", + " 4 (restart 0) KSP residual norm 5.955310e+01\n", + " 5 (restart 0) KSP residual norm 5.246780e+01\n", + " 6 (restart 0) KSP residual norm 5.116704e+01\n", + " 7 (restart 0) KSP residual norm 4.461565e+01\n", + " 8 (restart 0) KSP residual norm 3.875282e+01\n", + " 9 (restart 0) KSP residual norm 3.627986e+01\n", + " 10 (restart 0) KSP residual norm 3.120721e+01\n", + " 11 (restart 0) KSP residual norm 3.060050e+01\n", + " 12 (restart 0) KSP residual norm 2.692292e+01\n", + " 13 (restart 0) KSP residual norm 2.619024e+01\n", + " 14 (restart 0) KSP residual norm 2.205613e+01\n", + " 15 (restart 0) KSP residual norm 2.063419e+01\n", + " 16 (restart 0) KSP residual norm 1.899624e+01\n", + " 17 (restart 0) KSP residual norm 1.582685e+01\n", + " 18 (restart 0) KSP residual norm 1.559804e+01\n", + " 19 (restart 0) KSP residual norm 1.196281e+01\n", + " 20 (restart 0) KSP residual norm 1.172514e+01\n", + " 21 (restart 0) KSP residual norm 9.469576e+00\n", + " 22 (restart 0) KSP residual norm 8.853273e+00\n", + " 23 (restart 0) KSP residual norm 7.184457e+00\n", + " 24 (restart 0) KSP residual norm 5.861032e+00\n", + " 25 (restart 0) KSP residual norm 5.686578e+00\n", + " 26 (restart 0) KSP residual norm 4.114097e+00\n", + " 27 (restart 0) KSP residual norm 3.969076e+00\n", + " 28 (restart 0) KSP residual norm 3.056252e+00\n", + " 29 (restart 0) KSP residual norm 2.721980e+00\n", + " 30 (restart 0) KSP residual norm 2.528253e+00\n", + " 31 (restart 0) KSP residual norm 2.205267e+00\n", + " 32 (restart 0) KSP residual norm 2.115015e+00\n", + " 33 (restart 0) KSP residual norm 1.859324e+00\n", + " 34 (restart 0) KSP residual norm 1.672388e+00\n", + " 35 (restart 0) KSP residual norm 1.519707e+00\n", + " 36 (restart 0) KSP residual norm 1.310987e+00\n", + " 37 (restart 0) KSP residual norm 1.137148e+00\n", + " 38 (restart 0) KSP residual norm 9.845613e-01\n", + " 39 (restart 0) KSP residual norm 8.357532e-01\n", + " 40 (restart 0) KSP residual norm 7.239113e-01\n", + " 41 (restart 0) KSP residual norm 6.366858e-01\n", + " 42 (restart 0) KSP residual norm 5.567867e-01\n", + " 43 (restart 0) KSP residual norm 4.822652e-01\n", + " 44 (restart 0) KSP residual norm 4.129331e-01\n", + " 45 (restart 0) KSP residual norm 3.316254e-01\n", + " 46 (restart 0) KSP residual norm 2.811233e-01\n", + " 47 (restart 0) KSP residual norm 2.329883e-01\n", + " 48 (restart 0) KSP residual norm 1.844688e-01\n", + " 49 (restart 0) KSP residual norm 1.475320e-01\n", + " 50 (restart 0) KSP residual norm 1.227750e-01\n", + " 51 (restart 0) KSP residual norm 1.057340e-01\n", + " 52 (restart 0) KSP residual norm 9.288955e-02\n", + " 53 (restart 0) KSP residual norm 7.809988e-02\n", + " 54 (restart 0) KSP residual norm 6.884301e-02\n", + " 55 (restart 0) KSP residual norm 5.041672e-02\n", + " 56 (restart 0) KSP residual norm 4.335446e-02\n", + " 57 (restart 0) KSP residual norm 3.533921e-02\n", + " 58 (restart 0) KSP residual norm 3.108481e-02\n", + " 59 (restart 0) KSP residual norm 2.227216e-02\n", + " 60 (restart 0) KSP residual norm 1.843009e-02\n", + " 61 (restart 0) KSP residual norm 1.448048e-02\n", + " 62 (restart 0) KSP residual norm 1.094719e-02\n", + " 63 (restart 0) KSP residual norm 8.996505e-03\n", + " 64 (restart 0) KSP residual norm 6.475258e-03\n", + " 65 (restart 0) KSP residual norm 5.359283e-03\n", + " 66 (restart 0) KSP residual norm 4.263527e-03\n", + " 67 (restart 0) KSP residual norm 3.595564e-03\n", + " 68 (restart 0) KSP residual norm 2.895906e-03\n", + " 69 (restart 0) KSP residual norm 2.257061e-03\n", + " 70 (restart 0) KSP residual norm 1.751555e-03\n", + " 71 (restart 0) KSP residual norm 1.333477e-03\n", + " 72 (restart 0) KSP residual norm 1.065507e-03\n", + " 73 (restart 0) KSP residual norm 8.382675e-04\n", + " 74 (restart 0) KSP residual norm 6.789414e-04\n", + " 75 (restart 0) KSP residual norm 5.545764e-04\n", + " 76 (restart 0) KSP residual norm 4.446536e-04\n", + " 77 (restart 0) KSP residual norm 3.659269e-04\n", + " 78 (restart 0) KSP residual norm 2.874459e-04\n", + " 79 (restart 0) KSP residual norm 2.217447e-04\n", + " 80 (restart 0) KSP residual norm 1.744376e-04\n", + " 81 (restart 0) KSP residual norm 1.378919e-04\n", + " 82 (restart 0) KSP residual norm 1.128298e-04\n", + " 83 (restart 0) KSP residual norm 8.943913e-05\n", + " 84 (restart 0) KSP residual norm 6.935279e-05\n", + " 85 (restart 0) KSP residual norm 5.274236e-05\n", + " 86 (restart 0) KSP residual norm 3.940963e-05\n", + " 87 (restart 0) KSP residual norm 2.993260e-05\n", + " 88 (restart 0) KSP residual norm 2.358713e-05\n", + " 89 (restart 0) KSP residual norm 1.848710e-05\n", + " 90 (restart 0) KSP residual norm 1.469989e-05\n", + " 91 (restart 0) KSP residual norm 1.214209e-05\n", + " 92 (restart 0) KSP residual norm 9.835470e-06\n", + " 93 (restart 0) KSP residual norm 8.106071e-06\n", + " 94 (restart 0) KSP residual norm 6.766851e-06\n", + " 95 (restart 0) KSP residual norm 5.454406e-06\n", + " 96 (restart 0) KSP residual norm 4.463527e-06\n", + " 97 (restart 0) KSP residual norm 3.493510e-06\n", + " 98 (restart 0) KSP residual norm 2.800834e-06\n", + " 99 (restart 0) KSP residual norm 2.259994e-06\n", + "100 (restart 0) KSP residual norm 1.801515e-06\n", + "101 (restart 0) KSP residual norm 1.393576e-06\n", + "102 (restart 0) KSP residual norm 1.111101e-06\n", + "103 (restart 0) KSP residual norm 8.590819e-07\n", + "104 (restart 0) KSP residual norm 6.587193e-07\n", + "GMRES solver converged in 104 iterations (avg. reduction factor: 8.375e-01)\n", + "\n", + "Greedy iteration 2 (n = 6): ω* = 3.248e+00 GHz (1.238e+01), error = 2.433e-02, memory = 0/2\n", + " Field energy E (1.295e-09 J) + H (1.296e-09 J) = 2.591e-09 J\n", + "\n", + " Residual norms for GMRES solve\n", + " 0 (restart 0) KSP residual norm 9.177989e+01\n", + " 1 (restart 0) KSP residual norm 9.152952e+01\n", + " 2 (restart 0) KSP residual norm 7.869349e+01\n", + " 3 (restart 0) KSP residual norm 7.424285e+01\n", + " 4 (restart 0) KSP residual norm 4.169797e+01\n", + " 5 (restart 0) KSP residual norm 1.598209e+01\n", + " 6 (restart 0) KSP residual norm 7.376414e+00\n", + " 7 (restart 0) KSP residual norm 6.229556e+00\n", + " 8 (restart 0) KSP residual norm 5.932415e+00\n", + " 9 (restart 0) KSP residual norm 5.135071e+00\n", + " 10 (restart 0) KSP residual norm 4.850819e+00\n", + " 11 (restart 0) KSP residual norm 4.568502e+00\n", + " 12 (restart 0) KSP residual norm 4.091557e+00\n", + " 13 (restart 0) KSP residual norm 3.834386e+00\n", + " 14 (restart 0) KSP residual norm 3.181003e+00\n", + " 15 (restart 0) KSP residual norm 2.959862e+00\n", + " 16 (restart 0) KSP residual norm 2.657674e+00\n", + " 17 (restart 0) KSP residual norm 2.428988e+00\n", + " 18 (restart 0) KSP residual norm 2.149931e+00\n", + " 19 (restart 0) KSP residual norm 1.900168e+00\n", + " 20 (restart 0) KSP residual norm 1.703937e+00\n", + " 21 (restart 0) KSP residual norm 1.592794e+00\n", + " 22 (restart 0) KSP residual norm 1.311300e+00\n", + " 23 (restart 0) KSP residual norm 1.237153e+00\n", + " 24 (restart 0) KSP residual norm 1.008013e+00\n", + " 25 (restart 0) KSP residual norm 9.098768e-01\n", + " 26 (restart 0) KSP residual norm 8.476587e-01\n", + " 27 (restart 0) KSP residual norm 7.151217e-01\n", + " 28 (restart 0) KSP residual norm 6.442731e-01\n", + " 29 (restart 0) KSP residual norm 5.336693e-01\n", + " 30 (restart 0) KSP residual norm 4.878138e-01\n", + " 31 (restart 0) KSP residual norm 4.065293e-01\n", + " 32 (restart 0) KSP residual norm 3.789890e-01\n", + " 33 (restart 0) KSP residual norm 3.092096e-01\n", + " 34 (restart 0) KSP residual norm 2.952991e-01\n", + " 35 (restart 0) KSP residual norm 2.565412e-01\n", + " 36 (restart 0) KSP residual norm 2.431211e-01\n", + " 37 (restart 0) KSP residual norm 2.101030e-01\n", + " 38 (restart 0) KSP residual norm 1.977771e-01\n", + " 39 (restart 0) KSP residual norm 1.786690e-01\n", + " 40 (restart 0) KSP residual norm 1.638160e-01\n", + " 41 (restart 0) KSP residual norm 1.493695e-01\n", + " 42 (restart 0) KSP residual norm 1.337401e-01\n", + " 43 (restart 0) KSP residual norm 1.225251e-01\n", + " 44 (restart 0) KSP residual norm 1.081126e-01\n", + " 45 (restart 0) KSP residual norm 9.973055e-02\n", + " 46 (restart 0) KSP residual norm 8.744658e-02\n", + " 47 (restart 0) KSP residual norm 7.199996e-02\n", + " 48 (restart 0) KSP residual norm 6.361322e-02\n", + " 49 (restart 0) KSP residual norm 5.272906e-02\n", + " 50 (restart 0) KSP residual norm 4.331777e-02\n", + " 51 (restart 0) KSP residual norm 3.485704e-02\n", + " 52 (restart 0) KSP residual norm 2.680712e-02\n", + " 53 (restart 0) KSP residual norm 2.252466e-02\n", + " 54 (restart 0) KSP residual norm 1.844531e-02\n", + " 55 (restart 0) KSP residual norm 1.534257e-02\n", + " 56 (restart 0) KSP residual norm 1.193549e-02\n", + " 57 (restart 0) KSP residual norm 1.020902e-02\n", + " 58 (restart 0) KSP residual norm 8.386319e-03\n", + " 59 (restart 0) KSP residual norm 6.919243e-03\n", + " 60 (restart 0) KSP residual norm 5.730582e-03\n", + " 61 (restart 0) KSP residual norm 4.833756e-03\n", + " 62 (restart 0) KSP residual norm 3.986004e-03\n", + " 63 (restart 0) KSP residual norm 3.130830e-03\n", + " 64 (restart 0) KSP residual norm 2.569436e-03\n", + " 65 (restart 0) KSP residual norm 2.007649e-03\n", + " 66 (restart 0) KSP residual norm 1.603029e-03\n", + " 67 (restart 0) KSP residual norm 1.319865e-03\n", + " 68 (restart 0) KSP residual norm 1.093935e-03\n", + " 69 (restart 0) KSP residual norm 9.393492e-04\n", + " 70 (restart 0) KSP residual norm 8.067507e-04\n", + " 71 (restart 0) KSP residual norm 6.841680e-04\n", + " 72 (restart 0) KSP residual norm 5.682887e-04\n", + " 73 (restart 0) KSP residual norm 4.560594e-04\n", + " 74 (restart 0) KSP residual norm 3.691072e-04\n", + " 75 (restart 0) KSP residual norm 3.072845e-04\n", + " 76 (restart 0) KSP residual norm 2.590848e-04\n", + " 77 (restart 0) KSP residual norm 2.211552e-04\n", + " 78 (restart 0) KSP residual norm 1.850145e-04\n", + " 79 (restart 0) KSP residual norm 1.570334e-04\n", + " 80 (restart 0) KSP residual norm 1.356486e-04\n", + " 81 (restart 0) KSP residual norm 1.119924e-04\n", + " 82 (restart 0) KSP residual norm 9.190565e-05\n", + " 83 (restart 0) KSP residual norm 7.025169e-05\n", + " 84 (restart 0) KSP residual norm 5.594092e-05\n", + " 85 (restart 0) KSP residual norm 4.305005e-05\n", + " 86 (restart 0) KSP residual norm 3.489671e-05\n", + " 87 (restart 0) KSP residual norm 2.882052e-05\n", + " 88 (restart 0) KSP residual norm 2.376939e-05\n", + " 89 (restart 0) KSP residual norm 1.997174e-05\n", + " 90 (restart 0) KSP residual norm 1.648143e-05\n", + " 91 (restart 0) KSP residual norm 1.284108e-05\n", + " 92 (restart 0) KSP residual norm 9.620320e-06\n", + " 93 (restart 0) KSP residual norm 7.278495e-06\n", + " 94 (restart 0) KSP residual norm 5.806932e-06\n", + " 95 (restart 0) KSP residual norm 4.891996e-06\n", + " 96 (restart 0) KSP residual norm 4.221792e-06\n", + " 97 (restart 0) KSP residual norm 3.448051e-06\n", + " 98 (restart 0) KSP residual norm 2.803473e-06\n", + " 99 (restart 0) KSP residual norm 2.230566e-06\n", + "100 (restart 0) KSP residual norm 1.749352e-06\n", + "101 (restart 0) KSP residual norm 1.476622e-06\n", + "102 (restart 0) KSP residual norm 1.180482e-06\n", + "103 (restart 0) KSP residual norm 9.567908e-07\n", + "104 (restart 0) KSP residual norm 7.251037e-07\n", + "GMRES solver converged in 104 iterations (avg. reduction factor: 8.358e-01)\n", + "\n", + "Greedy iteration 3 (n = 8): ω* = 2.924e+00 GHz (1.114e+01), error = 2.067e-02, memory = 0/2\n", + " Field energy E (1.804e-10 J) + H (1.451e-10 J) = 3.254e-10 J\n", + "\n", + " Residual norms for GMRES solve\n", + " 0 (restart 0) KSP residual norm 1.372959e+02\n", + " 1 (restart 0) KSP residual norm 1.128715e+02\n", + " 2 (restart 0) KSP residual norm 8.912722e+01\n", + " 3 (restart 0) KSP residual norm 8.546913e+01\n", + " 4 (restart 0) KSP residual norm 3.221686e+01\n", + " 5 (restart 0) KSP residual norm 2.632163e+01\n", + " 6 (restart 0) KSP residual norm 1.305538e+01\n", + " 7 (restart 0) KSP residual norm 1.203742e+01\n", + " 8 (restart 0) KSP residual norm 8.230779e+00\n", + " 9 (restart 0) KSP residual norm 7.891549e+00\n", + " 10 (restart 0) KSP residual norm 4.913623e+00\n", + " 11 (restart 0) KSP residual norm 4.567958e+00\n", + " 12 (restart 0) KSP residual norm 3.389194e+00\n", + " 13 (restart 0) KSP residual norm 3.058161e+00\n", + " 14 (restart 0) KSP residual norm 2.844429e+00\n", + " 15 (restart 0) KSP residual norm 2.517300e+00\n", + " 16 (restart 0) KSP residual norm 2.135186e+00\n", + " 17 (restart 0) KSP residual norm 1.984746e+00\n", + " 18 (restart 0) KSP residual norm 1.751728e+00\n", + " 19 (restart 0) KSP residual norm 1.319259e+00\n", + " 20 (restart 0) KSP residual norm 1.227137e+00\n", + " 21 (restart 0) KSP residual norm 9.986861e-01\n", + " 22 (restart 0) KSP residual norm 9.354465e-01\n", + " 23 (restart 0) KSP residual norm 7.563072e-01\n", + " 24 (restart 0) KSP residual norm 6.661308e-01\n", + " 25 (restart 0) KSP residual norm 6.225457e-01\n", + " 26 (restart 0) KSP residual norm 5.463842e-01\n", + " 27 (restart 0) KSP residual norm 5.169146e-01\n", + " 28 (restart 0) KSP residual norm 4.302804e-01\n", + " 29 (restart 0) KSP residual norm 3.902731e-01\n", + " 30 (restart 0) KSP residual norm 3.633307e-01\n", + " 31 (restart 0) KSP residual norm 3.081742e-01\n", + " 32 (restart 0) KSP residual norm 2.737887e-01\n", + " 33 (restart 0) KSP residual norm 2.493960e-01\n", + " 34 (restart 0) KSP residual norm 2.218964e-01\n", + " 35 (restart 0) KSP residual norm 1.956791e-01\n", + " 36 (restart 0) KSP residual norm 1.758013e-01\n", + " 37 (restart 0) KSP residual norm 1.527805e-01\n", + " 38 (restart 0) KSP residual norm 1.350639e-01\n", + " 39 (restart 0) KSP residual norm 1.207223e-01\n", + " 40 (restart 0) KSP residual norm 1.021419e-01\n", + " 41 (restart 0) KSP residual norm 9.077256e-02\n", + " 42 (restart 0) KSP residual norm 7.572173e-02\n", + " 43 (restart 0) KSP residual norm 6.958446e-02\n", + " 44 (restart 0) KSP residual norm 5.815937e-02\n", + " 45 (restart 0) KSP residual norm 5.305829e-02\n", + " 46 (restart 0) KSP residual norm 4.736470e-02\n", + " 47 (restart 0) KSP residual norm 3.908551e-02\n", + " 48 (restart 0) KSP residual norm 3.231361e-02\n", + " 49 (restart 0) KSP residual norm 2.312278e-02\n", + " 50 (restart 0) KSP residual norm 1.817625e-02\n", + " 51 (restart 0) KSP residual norm 1.522597e-02\n", + " 52 (restart 0) KSP residual norm 1.291029e-02\n", + " 53 (restart 0) KSP residual norm 1.085184e-02\n", + " 54 (restart 0) KSP residual norm 9.077214e-03\n", + " 55 (restart 0) KSP residual norm 6.936694e-03\n", + " 56 (restart 0) KSP residual norm 5.633346e-03\n", + " 57 (restart 0) KSP residual norm 4.330025e-03\n", + " 58 (restart 0) KSP residual norm 3.566413e-03\n", + " 59 (restart 0) KSP residual norm 2.918939e-03\n", + " 60 (restart 0) KSP residual norm 2.372077e-03\n", + " 61 (restart 0) KSP residual norm 1.859969e-03\n", + " 62 (restart 0) KSP residual norm 1.463097e-03\n", + " 63 (restart 0) KSP residual norm 1.180329e-03\n", + " 64 (restart 0) KSP residual norm 8.808573e-04\n", + " 65 (restart 0) KSP residual norm 6.945934e-04\n", + " 66 (restart 0) KSP residual norm 5.380736e-04\n", + " 67 (restart 0) KSP residual norm 4.030670e-04\n", + " 68 (restart 0) KSP residual norm 3.117366e-04\n", + " 69 (restart 0) KSP residual norm 2.374652e-04\n", + " 70 (restart 0) KSP residual norm 1.911764e-04\n", + " 71 (restart 0) KSP residual norm 1.469482e-04\n", + " 72 (restart 0) KSP residual norm 1.151719e-04\n", + " 73 (restart 0) KSP residual norm 8.979172e-05\n", + " 74 (restart 0) KSP residual norm 6.930527e-05\n", + " 75 (restart 0) KSP residual norm 5.415952e-05\n", + " 76 (restart 0) KSP residual norm 4.059719e-05\n", + " 77 (restart 0) KSP residual norm 3.250670e-05\n", + " 78 (restart 0) KSP residual norm 2.528496e-05\n", + " 79 (restart 0) KSP residual norm 1.988229e-05\n", + " 80 (restart 0) KSP residual norm 1.634029e-05\n", + " 81 (restart 0) KSP residual norm 1.221817e-05\n", + " 82 (restart 0) KSP residual norm 9.314199e-06\n", + " 83 (restart 0) KSP residual norm 7.230490e-06\n", + " 84 (restart 0) KSP residual norm 5.724798e-06\n", + " 85 (restart 0) KSP residual norm 4.676204e-06\n", + " 86 (restart 0) KSP residual norm 3.566226e-06\n", + " 87 (restart 0) KSP residual norm 2.858742e-06\n", + " 88 (restart 0) KSP residual norm 2.254506e-06\n", + " 89 (restart 0) KSP residual norm 1.800814e-06\n", + " 90 (restart 0) KSP residual norm 1.388366e-06\n", + " 91 (restart 0) KSP residual norm 1.107893e-06\n", + "GMRES solver converged in 91 iterations (avg. reduction factor: 8.148e-01)\n", + "\n", + "Greedy iteration 4 (n = 10): ω* = 3.809e+00 GHz (1.451e+01), error = 3.530e-03, memory = 0/2\n", + " Field energy E (1.767e-10 J) + H (1.387e-10 J) = 3.154e-10 J\n", + "\n", + " Residual norms for GMRES solve\n", + " 0 (restart 0) KSP residual norm 6.222085e+01\n", + " 1 (restart 0) KSP residual norm 4.381337e+01\n", + " 2 (restart 0) KSP residual norm 3.419550e+01\n", + " 3 (restart 0) KSP residual norm 2.287002e+01\n", + " 4 (restart 0) KSP residual norm 1.998795e+01\n", + " 5 (restart 0) KSP residual norm 1.495055e+01\n", + " 6 (restart 0) KSP residual norm 1.260422e+01\n", + " 7 (restart 0) KSP residual norm 6.424551e+00\n", + " 8 (restart 0) KSP residual norm 5.116454e+00\n", + " 9 (restart 0) KSP residual norm 4.421058e+00\n", + " 10 (restart 0) KSP residual norm 3.904571e+00\n", + " 11 (restart 0) KSP residual norm 3.135637e+00\n", + " 12 (restart 0) KSP residual norm 2.914152e+00\n", + " 13 (restart 0) KSP residual norm 2.765510e+00\n", + " 14 (restart 0) KSP residual norm 2.657584e+00\n", + " 15 (restart 0) KSP residual norm 2.500346e+00\n", + " 16 (restart 0) KSP residual norm 2.420276e+00\n", + " 17 (restart 0) KSP residual norm 2.163025e+00\n", + " 18 (restart 0) KSP residual norm 2.106579e+00\n", + " 19 (restart 0) KSP residual norm 1.644889e+00\n", + " 20 (restart 0) KSP residual norm 1.622478e+00\n", + " 21 (restart 0) KSP residual norm 1.171059e+00\n", + " 22 (restart 0) KSP residual norm 1.128753e+00\n", + " 23 (restart 0) KSP residual norm 8.051986e-01\n", + " 24 (restart 0) KSP residual norm 6.440209e-01\n", + " 25 (restart 0) KSP residual norm 5.921281e-01\n", + " 26 (restart 0) KSP residual norm 4.829806e-01\n", + " 27 (restart 0) KSP residual norm 4.562400e-01\n", + " 28 (restart 0) KSP residual norm 3.640074e-01\n", + " 29 (restart 0) KSP residual norm 3.324961e-01\n", + " 30 (restart 0) KSP residual norm 2.801600e-01\n", + " 31 (restart 0) KSP residual norm 2.516290e-01\n", + " 32 (restart 0) KSP residual norm 2.174024e-01\n", + " 33 (restart 0) KSP residual norm 1.797887e-01\n", + " 34 (restart 0) KSP residual norm 1.647001e-01\n", + " 35 (restart 0) KSP residual norm 1.370087e-01\n", + " 36 (restart 0) KSP residual norm 1.265886e-01\n", + " 37 (restart 0) KSP residual norm 1.057798e-01\n", + " 38 (restart 0) KSP residual norm 9.356038e-02\n", + " 39 (restart 0) KSP residual norm 8.208251e-02\n", + " 40 (restart 0) KSP residual norm 7.215524e-02\n", + " 41 (restart 0) KSP residual norm 6.408075e-02\n", + " 42 (restart 0) KSP residual norm 5.757803e-02\n", + " 43 (restart 0) KSP residual norm 5.048022e-02\n", + " 44 (restart 0) KSP residual norm 4.418607e-02\n", + " 45 (restart 0) KSP residual norm 4.003496e-02\n", + " 46 (restart 0) KSP residual norm 3.566512e-02\n", + " 47 (restart 0) KSP residual norm 3.231030e-02\n", + " 48 (restart 0) KSP residual norm 2.788927e-02\n", + " 49 (restart 0) KSP residual norm 2.591259e-02\n", + " 50 (restart 0) KSP residual norm 2.295406e-02\n", + " 51 (restart 0) KSP residual norm 2.050630e-02\n", + " 52 (restart 0) KSP residual norm 1.689337e-02\n", + " 53 (restart 0) KSP residual norm 1.494613e-02\n", + " 54 (restart 0) KSP residual norm 1.256695e-02\n", + " 55 (restart 0) KSP residual norm 1.113618e-02\n", + " 56 (restart 0) KSP residual norm 8.991409e-03\n", + " 57 (restart 0) KSP residual norm 7.772763e-03\n", + " 58 (restart 0) KSP residual norm 6.531004e-03\n", + " 59 (restart 0) KSP residual norm 5.442527e-03\n", + " 60 (restart 0) KSP residual norm 4.336628e-03\n", + " 61 (restart 0) KSP residual norm 3.514321e-03\n", + " 62 (restart 0) KSP residual norm 2.827697e-03\n", + " 63 (restart 0) KSP residual norm 2.383514e-03\n", + " 64 (restart 0) KSP residual norm 1.980419e-03\n", + " 65 (restart 0) KSP residual norm 1.597098e-03\n", + " 66 (restart 0) KSP residual norm 1.322080e-03\n", + " 67 (restart 0) KSP residual norm 1.047992e-03\n", + " 68 (restart 0) KSP residual norm 8.421180e-04\n", + " 69 (restart 0) KSP residual norm 6.585459e-04\n", + " 70 (restart 0) KSP residual norm 5.003593e-04\n", + " 71 (restart 0) KSP residual norm 3.975060e-04\n", + " 72 (restart 0) KSP residual norm 3.139329e-04\n", + " 73 (restart 0) KSP residual norm 2.427717e-04\n", + " 74 (restart 0) KSP residual norm 1.926201e-04\n", + " 75 (restart 0) KSP residual norm 1.576160e-04\n", + " 76 (restart 0) KSP residual norm 1.258398e-04\n", + " 77 (restart 0) KSP residual norm 9.624037e-05\n", + " 78 (restart 0) KSP residual norm 8.131621e-05\n", + " 79 (restart 0) KSP residual norm 6.607089e-05\n", + " 80 (restart 0) KSP residual norm 4.985662e-05\n", + " 81 (restart 0) KSP residual norm 3.959006e-05\n", + " 82 (restart 0) KSP residual norm 3.101511e-05\n", + " 83 (restart 0) KSP residual norm 2.412430e-05\n", + " 84 (restart 0) KSP residual norm 2.039786e-05\n", + " 85 (restart 0) KSP residual norm 1.638222e-05\n", + " 86 (restart 0) KSP residual norm 1.318017e-05\n", + " 87 (restart 0) KSP residual norm 1.012080e-05\n", + " 88 (restart 0) KSP residual norm 7.468368e-06\n", + " 89 (restart 0) KSP residual norm 5.854505e-06\n", + " 90 (restart 0) KSP residual norm 4.448338e-06\n", + " 91 (restart 0) KSP residual norm 3.369989e-06\n", + " 92 (restart 0) KSP residual norm 2.697929e-06\n", + " 93 (restart 0) KSP residual norm 2.177307e-06\n", + " 94 (restart 0) KSP residual norm 1.710142e-06\n", + " 95 (restart 0) KSP residual norm 1.287683e-06\n", + " 96 (restart 0) KSP residual norm 9.997472e-07\n", + " 97 (restart 0) KSP residual norm 7.756246e-07\n", + " 98 (restart 0) KSP residual norm 5.663468e-07\n", + "GMRES solver converged in 98 iterations (avg. reduction factor: 8.278e-01)\n", + "\n", + "Greedy iteration 5 (n = 12): ω* = 2.663e+00 GHz (1.015e+01), error = 3.258e-03, memory = 0/2\n", + " Field energy E (1.114e-10 J) + H (9.199e-11 J) = 2.034e-10 J\n", + "\n", + " Residual norms for GMRES solve\n", + " 0 (restart 0) KSP residual norm 2.535874e+02\n", + " 1 (restart 0) KSP residual norm 2.490783e+02\n", + " 2 (restart 0) KSP residual norm 3.652298e+01\n", + " 3 (restart 0) KSP residual norm 2.500372e+01\n", + " 4 (restart 0) KSP residual norm 1.623279e+01\n", + " 5 (restart 0) KSP residual norm 1.600993e+01\n", + " 6 (restart 0) KSP residual norm 1.246772e+01\n", + " 7 (restart 0) KSP residual norm 1.129512e+01\n", + " 8 (restart 0) KSP residual norm 1.070943e+01\n", + " 9 (restart 0) KSP residual norm 9.127092e+00\n", + " 10 (restart 0) KSP residual norm 8.847800e+00\n", + " 11 (restart 0) KSP residual norm 7.922787e+00\n", + " 12 (restart 0) KSP residual norm 7.387119e+00\n", + " 13 (restart 0) KSP residual norm 6.780079e+00\n", + " 14 (restart 0) KSP residual norm 5.392184e+00\n", + " 15 (restart 0) KSP residual norm 5.286355e+00\n", + " 16 (restart 0) KSP residual norm 3.935810e+00\n", + " 17 (restart 0) KSP residual norm 3.771180e+00\n", + " 18 (restart 0) KSP residual norm 2.974326e+00\n", + " 19 (restart 0) KSP residual norm 2.909686e+00\n", + " 20 (restart 0) KSP residual norm 2.443514e+00\n", + " 21 (restart 0) KSP residual norm 2.348887e+00\n", + " 22 (restart 0) KSP residual norm 2.014583e+00\n", + " 23 (restart 0) KSP residual norm 1.969284e+00\n", + " 24 (restart 0) KSP residual norm 1.713132e+00\n", + " 25 (restart 0) KSP residual norm 1.649370e+00\n", + " 26 (restart 0) KSP residual norm 1.319584e+00\n", + " 27 (restart 0) KSP residual norm 1.256733e+00\n", + " 28 (restart 0) KSP residual norm 1.041676e+00\n", + " 29 (restart 0) KSP residual norm 9.532907e-01\n", + " 30 (restart 0) KSP residual norm 8.586915e-01\n", + " 31 (restart 0) KSP residual norm 7.226973e-01\n", + " 32 (restart 0) KSP residual norm 6.201188e-01\n", + " 33 (restart 0) KSP residual norm 5.630776e-01\n", + " 34 (restart 0) KSP residual norm 4.817622e-01\n", + " 35 (restart 0) KSP residual norm 4.265927e-01\n", + " 36 (restart 0) KSP residual norm 3.588622e-01\n", + " 37 (restart 0) KSP residual norm 3.107969e-01\n", + " 38 (restart 0) KSP residual norm 2.785809e-01\n", + " 39 (restart 0) KSP residual norm 2.407726e-01\n", + " 40 (restart 0) KSP residual norm 2.126014e-01\n", + " 41 (restart 0) KSP residual norm 1.768253e-01\n", + " 42 (restart 0) KSP residual norm 1.425849e-01\n", + " 43 (restart 0) KSP residual norm 1.223558e-01\n", + " 44 (restart 0) KSP residual norm 9.900582e-02\n", + " 45 (restart 0) KSP residual norm 8.679791e-02\n", + " 46 (restart 0) KSP residual norm 7.461620e-02\n", + " 47 (restart 0) KSP residual norm 6.444422e-02\n", + " 48 (restart 0) KSP residual norm 5.567814e-02\n", + " 49 (restart 0) KSP residual norm 4.760342e-02\n", + " 50 (restart 0) KSP residual norm 4.190164e-02\n", + " 51 (restart 0) KSP residual norm 3.400770e-02\n", + " 52 (restart 0) KSP residual norm 2.941075e-02\n", + " 53 (restart 0) KSP residual norm 2.316184e-02\n", + " 54 (restart 0) KSP residual norm 1.968001e-02\n", + " 55 (restart 0) KSP residual norm 1.589984e-02\n", + " 56 (restart 0) KSP residual norm 1.366496e-02\n", + " 57 (restart 0) KSP residual norm 1.085874e-02\n", + " 58 (restart 0) KSP residual norm 9.196070e-03\n", + " 59 (restart 0) KSP residual norm 7.616862e-03\n", + " 60 (restart 0) KSP residual norm 6.400661e-03\n", + " 61 (restart 0) KSP residual norm 5.392925e-03\n", + " 62 (restart 0) KSP residual norm 4.158556e-03\n", + " 63 (restart 0) KSP residual norm 3.487808e-03\n", + " 64 (restart 0) KSP residual norm 2.720670e-03\n", + " 65 (restart 0) KSP residual norm 2.400893e-03\n", + " 66 (restart 0) KSP residual norm 1.966862e-03\n", + " 67 (restart 0) KSP residual norm 1.708589e-03\n", + " 68 (restart 0) KSP residual norm 1.402091e-03\n", + " 69 (restart 0) KSP residual norm 1.160595e-03\n", + " 70 (restart 0) KSP residual norm 9.375729e-04\n", + " 71 (restart 0) KSP residual norm 7.682539e-04\n", + " 72 (restart 0) KSP residual norm 6.433656e-04\n", + " 73 (restart 0) KSP residual norm 5.561198e-04\n", + " 74 (restart 0) KSP residual norm 4.668754e-04\n", + " 75 (restart 0) KSP residual norm 3.863634e-04\n", + " 76 (restart 0) KSP residual norm 3.161325e-04\n", + " 77 (restart 0) KSP residual norm 2.422457e-04\n", + " 78 (restart 0) KSP residual norm 1.896312e-04\n", + " 79 (restart 0) KSP residual norm 1.457312e-04\n", + " 80 (restart 0) KSP residual norm 1.144688e-04\n", + " 81 (restart 0) KSP residual norm 9.605358e-05\n", + " 82 (restart 0) KSP residual norm 8.294798e-05\n", + " 83 (restart 0) KSP residual norm 7.070766e-05\n", + " 84 (restart 0) KSP residual norm 5.852022e-05\n", + " 85 (restart 0) KSP residual norm 4.708698e-05\n", + " 86 (restart 0) KSP residual norm 3.903079e-05\n", + " 87 (restart 0) KSP residual norm 3.174705e-05\n", + " 88 (restart 0) KSP residual norm 2.567829e-05\n", + " 89 (restart 0) KSP residual norm 2.031271e-05\n", + " 90 (restart 0) KSP residual norm 1.580737e-05\n", + " 91 (restart 0) KSP residual norm 1.270921e-05\n", + " 92 (restart 0) KSP residual norm 9.942090e-06\n", + " 93 (restart 0) KSP residual norm 7.824863e-06\n", + " 94 (restart 0) KSP residual norm 6.289548e-06\n", + " 95 (restart 0) KSP residual norm 5.075182e-06\n", + " 96 (restart 0) KSP residual norm 4.010277e-06\n", + " 97 (restart 0) KSP residual norm 3.164513e-06\n", + " 98 (restart 0) KSP residual norm 2.518475e-06\n", + "GMRES solver converged in 98 iterations (avg. reduction factor: 8.286e-01)\n", + "\n", + "Greedy iteration 6 (n = 14): ω* = 3.025e+00 GHz (1.153e+01), error = 9.695e-04, memory = 1/2\n", + " Field energy E (2.621e-10 J) + H (2.210e-10 J) = 4.831e-10 J\n", + "\n", + " Residual norms for GMRES solve\n", + " 0 (restart 0) KSP residual norm 1.930300e+02\n", + " 1 (restart 0) KSP residual norm 1.486121e+02\n", + " 2 (restart 0) KSP residual norm 9.058308e+01\n", + " 3 (restart 0) KSP residual norm 7.425036e+01\n", + " 4 (restart 0) KSP residual norm 4.227448e+01\n", + " 5 (restart 0) KSP residual norm 4.085673e+01\n", + " 6 (restart 0) KSP residual norm 2.325765e+01\n", + " 7 (restart 0) KSP residual norm 1.834803e+01\n", + " 8 (restart 0) KSP residual norm 1.439011e+01\n", + " 9 (restart 0) KSP residual norm 1.317514e+01\n", + " 10 (restart 0) KSP residual norm 8.147007e+00\n", + " 11 (restart 0) KSP residual norm 7.673532e+00\n", + " 12 (restart 0) KSP residual norm 5.351121e+00\n", + " 13 (restart 0) KSP residual norm 5.099402e+00\n", + " 14 (restart 0) KSP residual norm 3.973760e+00\n", + " 15 (restart 0) KSP residual norm 3.647087e+00\n", + " 16 (restart 0) KSP residual norm 3.000290e+00\n", + " 17 (restart 0) KSP residual norm 2.701561e+00\n", + " 18 (restart 0) KSP residual norm 2.353383e+00\n", + " 19 (restart 0) KSP residual norm 2.173996e+00\n", + " 20 (restart 0) KSP residual norm 1.924804e+00\n", + " 21 (restart 0) KSP residual norm 1.530308e+00\n", + " 22 (restart 0) KSP residual norm 1.390681e+00\n", + " 23 (restart 0) KSP residual norm 1.213257e+00\n", + " 24 (restart 0) KSP residual norm 1.169319e+00\n", + " 25 (restart 0) KSP residual norm 1.047080e+00\n", + " 26 (restart 0) KSP residual norm 9.090855e-01\n", + " 27 (restart 0) KSP residual norm 7.111096e-01\n", + " 28 (restart 0) KSP residual norm 6.391407e-01\n", + " 29 (restart 0) KSP residual norm 4.616208e-01\n", + " 30 (restart 0) KSP residual norm 3.929084e-01\n", + " 31 (restart 0) KSP residual norm 3.310419e-01\n", + " 32 (restart 0) KSP residual norm 2.913446e-01\n", + " 33 (restart 0) KSP residual norm 2.505471e-01\n", + " 34 (restart 0) KSP residual norm 2.206247e-01\n", + " 35 (restart 0) KSP residual norm 1.820965e-01\n", + " 36 (restart 0) KSP residual norm 1.596558e-01\n", + " 37 (restart 0) KSP residual norm 1.252252e-01\n", + " 38 (restart 0) KSP residual norm 1.099865e-01\n", + " 39 (restart 0) KSP residual norm 9.385903e-02\n", + " 40 (restart 0) KSP residual norm 8.129578e-02\n", + " 41 (restart 0) KSP residual norm 7.199896e-02\n", + " 42 (restart 0) KSP residual norm 6.061779e-02\n", + " 43 (restart 0) KSP residual norm 5.350946e-02\n", + " 44 (restart 0) KSP residual norm 4.735193e-02\n", + " 45 (restart 0) KSP residual norm 4.020791e-02\n", + " 46 (restart 0) KSP residual norm 3.338069e-02\n", + " 47 (restart 0) KSP residual norm 2.863165e-02\n", + " 48 (restart 0) KSP residual norm 2.345198e-02\n", + " 49 (restart 0) KSP residual norm 1.999858e-02\n", + " 50 (restart 0) KSP residual norm 1.733930e-02\n", + " 51 (restart 0) KSP residual norm 1.511007e-02\n", + " 52 (restart 0) KSP residual norm 1.253086e-02\n", + " 53 (restart 0) KSP residual norm 1.071864e-02\n", + " 54 (restart 0) KSP residual norm 8.654238e-03\n", + " 55 (restart 0) KSP residual norm 7.028552e-03\n", + " 56 (restart 0) KSP residual norm 6.041806e-03\n", + " 57 (restart 0) KSP residual norm 5.066366e-03\n", + " 58 (restart 0) KSP residual norm 4.428582e-03\n", + " 59 (restart 0) KSP residual norm 3.729887e-03\n", + " 60 (restart 0) KSP residual norm 3.150696e-03\n", + " 61 (restart 0) KSP residual norm 2.682870e-03\n", + " 62 (restart 0) KSP residual norm 2.254940e-03\n", + " 63 (restart 0) KSP residual norm 1.890621e-03\n", + " 64 (restart 0) KSP residual norm 1.631501e-03\n", + " 65 (restart 0) KSP residual norm 1.368213e-03\n", + " 66 (restart 0) KSP residual norm 1.116512e-03\n", + " 67 (restart 0) KSP residual norm 8.612473e-04\n", + " 68 (restart 0) KSP residual norm 6.818560e-04\n", + " 69 (restart 0) KSP residual norm 5.753370e-04\n", + " 70 (restart 0) KSP residual norm 4.944585e-04\n", + " 71 (restart 0) KSP residual norm 4.006294e-04\n", + " 72 (restart 0) KSP residual norm 3.317791e-04\n", + " 73 (restart 0) KSP residual norm 2.805047e-04\n", + " 74 (restart 0) KSP residual norm 2.295977e-04\n", + " 75 (restart 0) KSP residual norm 1.949779e-04\n", + " 76 (restart 0) KSP residual norm 1.603829e-04\n", + " 77 (restart 0) KSP residual norm 1.376361e-04\n", + " 78 (restart 0) KSP residual norm 1.123122e-04\n", + " 79 (restart 0) KSP residual norm 9.393307e-05\n", + " 80 (restart 0) KSP residual norm 6.748733e-05\n", + " 81 (restart 0) KSP residual norm 5.514348e-05\n", + " 82 (restart 0) KSP residual norm 4.623780e-05\n", + " 83 (restart 0) KSP residual norm 4.099595e-05\n", + " 84 (restart 0) KSP residual norm 3.063596e-05\n", + " 85 (restart 0) KSP residual norm 2.386411e-05\n", + " 86 (restart 0) KSP residual norm 1.879529e-05\n", + " 87 (restart 0) KSP residual norm 1.512025e-05\n", + " 88 (restart 0) KSP residual norm 1.178537e-05\n", + " 89 (restart 0) KSP residual norm 9.173912e-06\n", + " 90 (restart 0) KSP residual norm 7.124294e-06\n", + " 91 (restart 0) KSP residual norm 5.454701e-06\n", + " 92 (restart 0) KSP residual norm 4.314241e-06\n", + " 93 (restart 0) KSP residual norm 3.307069e-06\n", + " 94 (restart 0) KSP residual norm 2.517918e-06\n", + " 95 (restart 0) KSP residual norm 1.970565e-06\n", + " 96 (restart 0) KSP residual norm 1.471577e-06\n", + "GMRES solver converged in 96 iterations (avg. reduction factor: 8.231e-01)\n", + "\n", + "Greedy iteration 7 (n = 16): ω* = 3.640e+00 GHz (1.387e+01), error = 8.617e-05, memory = 2/2\n", + " Field energy E (1.961e-10 J) + H (1.642e-10 J) = 3.603e-10 J\n", + "\n", + "Adaptive sampling converged with 9 frequency samples:\n", + " n = 18, error = 8.617e-05, tol = 1.000e-03, memory = 2/2\n", + " Sampled frequencies (GHz): 2.500e+00, 4.000e+00, 3.433e+00, 3.248e+00,\n", + " 2.924e+00, 3.809e+00, 2.663e+00, 3.025e+00,\n", + " 3.640e+00\n", + " Sample errors: inf, inf, 9.133e-01, 2.433e-02, 2.067e-02,\n", + " 3.530e-03, 3.258e-03, 9.695e-04, 8.617e-05\n", + " Total offline phase elapsed time: 7.84e+01 s\n", + "\n", + "Beginning fast frequency sweep online phase\n", + "\n", + "It 1/61: ω/2π = 2.500e+00 GHz (total elapsed time = 7.84e+01 s)\n", + "\n", + " Sol. ||E|| = 3.127238e+01\n", + " Field energy E (9.443e-11 J) + H (8.540e-11 J) = 1.798e-10 J\n", + " S[1][1] = +9.831e-01-1.419e-01i, |S[1][1]| = -5.890e-02, arg(S[1][1]) = -8.211e+00\n", + "\n", + " Wrote fields to disk (Paraview) at step 1\n", + "\n", + "It 2/61: ω/2π = 2.525e+00 GHz (total elapsed time = 7.95e+01 s)\n", + "\n", + " Sol. ||E|| = 3.154322e+01\n", + " Field energy E (9.654e-11 J) + H (8.587e-11 J) = 1.824e-10 J\n", + " S[1][1] = +9.783e-01-1.693e-01i, |S[1][1]| = -6.264e-02, arg(S[1][1]) = -9.818e+00\n", + "\n", + "It 3/61: ω/2π = 2.550e+00 GHz (total elapsed time = 8.03e+01 s)\n", + "\n", + " Sol. ||E|| = 3.182459e+01\n", + " Field energy E (9.880e-11 J) + H (8.650e-11 J) = 1.853e-10 J\n", + " S[1][1] = +9.726e-01-1.970e-01i, |S[1][1]| = -6.676e-02, arg(S[1][1]) = -1.145e+01\n", + "\n", + "It 4/61: ω/2π = 2.575e+00 GHz (total elapsed time = 8.11e+01 s)\n", + "\n", + " Sol. ||E|| = 3.211780e+01\n", + " Field energy E (1.012e-10 J) + H (8.732e-11 J) = 1.885e-10 J\n", + " S[1][1] = +9.660e-01-2.249e-01i, |S[1][1]| = -7.132e-02, arg(S[1][1]) = -1.311e+01\n", + "\n", + "It 5/61: ω/2π = 2.600e+00 GHz (total elapsed time = 8.20e+01 s)\n", + "\n", + " Sol. ||E|| = 3.242431e+01\n", + " Field energy E (1.038e-10 J) + H (8.834e-11 J) = 1.922e-10 J\n", + " S[1][1] = +9.584e-01-2.531e-01i, |S[1][1]| = -7.638e-02, arg(S[1][1]) = -1.479e+01\n", + "\n", + "It 6/61: ω/2π = 2.625e+00 GHz (total elapsed time = 8.29e+01 s)\n", + "\n", + " Sol. ||E|| = 3.274585e+01\n", + " Field energy E (1.067e-10 J) + H (8.958e-11 J) = 1.962e-10 J\n", + " S[1][1] = +9.498e-01-2.815e-01i, |S[1][1]| = -8.202e-02, arg(S[1][1]) = -1.651e+01\n", + "\n", + " Wrote fields to disk (Paraview) at step 6\n", + "\n", + "It 7/61: ω/2π = 2.650e+00 GHz (total elapsed time = 8.42e+01 s)\n", + "\n", + " Sol. ||E|| = 3.308446e+01\n", + " Field energy E (1.097e-10 J) + H (9.109e-11 J) = 2.008e-10 J\n", + " S[1][1] = +9.400e-01-3.102e-01i, |S[1][1]| = -8.834e-02, arg(S[1][1]) = -1.826e+01\n", + "\n", + "It 8/61: ω/2π = 2.675e+00 GHz (total elapsed time = 8.52e+01 s)\n", + "\n", + " Sol. ||E|| = 3.344253e+01\n", + " Field energy E (1.131e-10 J) + H (9.289e-11 J) = 2.060e-10 J\n", + " S[1][1] = +9.291e-01-3.393e-01i, |S[1][1]| = -9.545e-02, arg(S[1][1]) = -2.006e+01\n", + "\n", + "It 9/61: ω/2π = 2.700e+00 GHz (total elapsed time = 8.63e+01 s)\n", + "\n", + " Sol. ||E|| = 3.382289e+01\n", + " Field energy E (1.168e-10 J) + H (9.503e-11 J) = 2.118e-10 J\n", + " S[1][1] = +9.168e-01-3.686e-01i, |S[1][1]| = -1.035e-01, arg(S[1][1]) = -2.190e+01\n", + "\n", + "It 10/61: ω/2π = 2.725e+00 GHz (total elapsed time = 8.74e+01 s)\n", + "\n", + " Sol. ||E|| = 3.422895e+01\n", + " Field energy E (1.208e-10 J) + H (9.757e-11 J) = 2.184e-10 J\n", + " S[1][1] = +9.032e-01-3.983e-01i, |S[1][1]| = -1.126e-01, arg(S[1][1]) = -2.380e+01\n", + "\n", + "It 11/61: ω/2π = 2.750e+00 GHz (total elapsed time = 8.85e+01 s)\n", + "\n", + " Sol. ||E|| = 3.466481e+01\n", + " Field energy E (1.254e-10 J) + H (1.006e-10 J) = 2.259e-10 J\n", + " S[1][1] = +8.880e-01-4.284e-01i, |S[1][1]| = -1.231e-01, arg(S[1][1]) = -2.576e+01\n", + "\n", + " Wrote fields to disk (Paraview) at step 11\n", + "\n", + "It 12/61: ω/2π = 2.775e+00 GHz (total elapsed time = 9.00e+01 s)\n", + "\n", + " Sol. ||E|| = 3.513547e+01\n", + " Field energy E (1.304e-10 J) + H (1.041e-10 J) = 2.345e-10 J\n", + " S[1][1] = +8.711e-01-4.589e-01i, |S[1][1]| = -1.351e-01, arg(S[1][1]) = -2.778e+01\n", + "\n", + "It 13/61: ω/2π = 2.800e+00 GHz (total elapsed time = 9.12e+01 s)\n", + "\n", + " Sol. ||E|| = 3.564703e+01\n", + " Field energy E (1.362e-10 J) + H (1.083e-10 J) = 2.445e-10 J\n", + " S[1][1] = +8.523e-01-4.898e-01i, |S[1][1]| = -1.490e-01, arg(S[1][1]) = -2.988e+01\n", + "\n", + "It 14/61: ω/2π = 2.825e+00 GHz (total elapsed time = 9.24e+01 s)\n", + "\n", + " Sol. ||E|| = 3.620704e+01\n", + " Field energy E (1.427e-10 J) + H (1.133e-10 J) = 2.560e-10 J\n", + " S[1][1] = +8.313e-01-5.211e-01i, |S[1][1]| = -1.654e-01, arg(S[1][1]) = -3.208e+01\n", + "\n", + "It 15/61: ω/2π = 2.850e+00 GHz (total elapsed time = 9.37e+01 s)\n", + "\n", + " Sol. ||E|| = 3.682492e+01\n", + " Field energy E (1.501e-10 J) + H (1.193e-10 J) = 2.694e-10 J\n", + " S[1][1] = +8.079e-01-5.528e-01i, |S[1][1]| = -1.846e-01, arg(S[1][1]) = -3.438e+01\n", + "\n", + "It 16/61: ω/2π = 2.875e+00 GHz (total elapsed time = 9.50e+01 s)\n", + "\n", + " Sol. ||E|| = 3.751249e+01\n", + " Field energy E (1.588e-10 J) + H (1.264e-10 J) = 2.852e-10 J\n", + " S[1][1] = +7.817e-01-5.850e-01i, |S[1][1]| = -2.074e-01, arg(S[1][1]) = -3.681e+01\n", + "\n", + " Wrote fields to disk (Paraview) at step 16\n", + "\n", + "It 17/61: ω/2π = 2.900e+00 GHz (total elapsed time = 9.67e+01 s)\n", + "\n", + " Sol. ||E|| = 3.828480e+01\n", + " Field energy E (1.689e-10 J) + H (1.350e-10 J) = 3.040e-10 J\n", + " S[1][1] = +7.523e-01-6.176e-01i, |S[1][1]| = -2.350e-01, arg(S[1][1]) = -3.939e+01\n", + "\n", + "It 18/61: ω/2π = 2.925e+00 GHz (total elapsed time = 9.82e+01 s)\n", + "\n", + " Sol. ||E|| = 3.916146e+01\n", + " Field energy E (1.810e-10 J) + H (1.456e-10 J) = 3.265e-10 J\n", + " S[1][1] = +7.189e-01-6.505e-01i, |S[1][1]| = -2.685e-01, arg(S[1][1]) = -4.214e+01\n", + "\n", + "It 19/61: ω/2π = 2.950e+00 GHz (total elapsed time = 9.96e+01 s)\n", + "\n", + " Sol. ||E|| = 4.016750e+01\n", + " Field energy E (1.954e-10 J) + H (1.585e-10 J) = 3.539e-10 J\n", + " S[1][1] = +6.810e-01-6.837e-01i, |S[1][1]| = -3.098e-01, arg(S[1][1]) = -4.511e+01\n", + "\n", + "It 20/61: ω/2π = 2.975e+00 GHz (total elapsed time = 1.01e+02 s)\n", + "\n", + " Sol. ||E|| = 4.133465e+01\n", + " Field energy E (2.130e-10 J) + H (1.746e-10 J) = 3.876e-10 J\n", + " S[1][1] = +6.375e-01-7.167e-01i, |S[1][1]| = -3.616e-01, arg(S[1][1]) = -4.835e+01\n", + "\n", + "It 21/61: ω/2π = 3.000e+00 GHz (total elapsed time = 1.03e+02 s)\n", + "\n", + " Sol. ||E|| = 4.270686e+01\n", + " Field energy E (2.347e-10 J) + H (1.950e-10 J) = 4.297e-10 J\n", + " S[1][1] = +5.872e-01-7.493e-01i, |S[1][1]| = -4.276e-01, arg(S[1][1]) = -5.192e+01\n", + "\n", + " Wrote fields to disk (Paraview) at step 21\n", + "\n", + "It 22/61: ω/2π = 3.025e+00 GHz (total elapsed time = 1.05e+02 s)\n", + "\n", + " Sol. ||E|| = 4.434163e+01\n", + " Field energy E (2.621e-10 J) + H (2.210e-10 J) = 4.832e-10 J\n", + " S[1][1] = +5.284e-01-7.806e-01i, |S[1][1]| = -5.135e-01, arg(S[1][1]) = -5.591e+01\n", + "\n", + "It 23/61: ω/2π = 3.050e+00 GHz (total elapsed time = 1.06e+02 s)\n", + "\n", + " Sol. ||E|| = 4.631569e+01\n", + " Field energy E (2.972e-10 J) + H (2.549e-10 J) = 5.521e-10 J\n", + " S[1][1] = +4.589e-01-8.092e-01i, |S[1][1]| = -6.278e-01, arg(S[1][1]) = -6.044e+01\n", + "\n", + "It 24/61: ω/2π = 3.075e+00 GHz (total elapsed time = 1.08e+02 s)\n", + "\n", + " Sol. ||E|| = 4.873113e+01\n", + " Field energy E (3.429e-10 J) + H (2.998e-10 J) = 6.427e-10 J\n", + " S[1][1] = +3.760e-01-8.328e-01i, |S[1][1]| = -7.838e-01, arg(S[1][1]) = -6.570e+01\n", + "\n", + "It 25/61: ω/2π = 3.100e+00 GHz (total elapsed time = 1.10e+02 s)\n", + "\n", + " Sol. ||E|| = 5.172111e+01\n", + " Field energy E (4.038e-10 J) + H (3.603e-10 J) = 7.640e-10 J\n", + " S[1][1] = +2.761e-01-8.470e-01i, |S[1][1]| = -1.004e+00, arg(S[1][1]) = -7.195e+01\n", + "\n", + "It 26/61: ω/2π = 3.125e+00 GHz (total elapsed time = 1.12e+02 s)\n", + "\n", + " Sol. ||E|| = 5.544988e+01\n", + " Field energy E (4.860e-10 J) + H (4.430e-10 J) = 9.290e-10 J\n", + " S[1][1] = +1.555e-01-8.445e-01i, |S[1][1]| = -1.324e+00, arg(S[1][1]) = -7.957e+01\n", + "\n", + " Wrote fields to disk (Paraview) at step 26\n", + "\n", + "It 27/61: ω/2π = 3.150e+00 GHz (total elapsed time = 1.14e+02 s)\n", + "\n", + " Sol. ||E|| = 6.009117e+01\n", + " Field energy E (5.981e-10 J) + H (5.571e-10 J) = 1.155e-09 J\n", + " S[1][1] = +1.151e-02-8.119e-01i, |S[1][1]| = -1.809e+00, arg(S[1][1]) = -8.919e+01\n", + "\n", + "It 28/61: ω/2π = 3.175e+00 GHz (total elapsed time = 1.16e+02 s)\n", + "\n", + " Sol. ||E|| = 6.574242e+01\n", + " Field energy E (7.492e-10 J) + H (7.127e-10 J) = 1.462e-09 J\n", + " S[1][1] = -1.524e-01-7.277e-01i, |S[1][1]| = -2.574e+00, arg(S[1][1]) = -1.018e+02\n", + "\n", + "It 29/61: ω/2π = 3.200e+00 GHz (total elapsed time = 1.17e+02 s)\n", + "\n", + " Sol. ||E|| = 7.218857e+01\n", + " Field energy E (9.417e-10 J) + H (9.137e-10 J) = 1.855e-09 J\n", + " S[1][1] = -3.152e-01-5.617e-01i, |S[1][1]| = -3.821e+00, arg(S[1][1]) = -1.193e+02\n", + "\n", + "It 30/61: ω/2π = 3.225e+00 GHz (total elapsed time = 1.19e+02 s)\n", + "\n", + " Sol. ||E|| = 7.844610e+01\n", + " Field energy E (1.151e-09 J) + H (1.137e-09 J) = 2.288e-09 J\n", + " S[1][1] = -4.198e-01-2.915e-01i, |S[1][1]| = -5.830e+00, arg(S[1][1]) = -1.452e+02\n", + "\n", + "It 31/61: ω/2π = 3.250e+00 GHz (total elapsed time = 1.21e+02 s)\n", + "\n", + " Sol. ||E|| = 8.244404e+01\n", + " Field energy E (1.303e-09 J) + H (1.305e-09 J) = 2.608e-09 J\n", + " S[1][1] = -3.766e-01+4.828e-02i, |S[1][1]| = -8.411e+00, arg(S[1][1]) = +1.727e+02\n", + "\n", + " Wrote fields to disk (Paraview) at step 31\n", + "\n", + "It 32/61: ω/2π = 3.275e+00 GHz (total elapsed time = 1.24e+02 s)\n", + "\n", + " Sol. ||E|| = 8.204990e+01\n", + " Field energy E (1.305e-09 J) + H (1.321e-09 J) = 2.626e-09 J\n", + " S[1][1] = -1.447e-01+3.319e-01i, |S[1][1]| = -8.825e+00, arg(S[1][1]) = +1.136e+02\n", + "\n", + "It 33/61: ω/2π = 3.300e+00 GHz (total elapsed time = 1.26e+02 s)\n", + "\n", + " Sol. ||E|| = 7.731434e+01\n", + " Field energy E (1.155e-09 J) + H (1.176e-09 J) = 2.331e-09 J\n", + " S[1][1] = +1.838e-01+4.414e-01i, |S[1][1]| = -6.409e+00, arg(S[1][1]) = +6.739e+01\n", + "\n", + "It 34/61: ω/2π = 3.325e+00 GHz (total elapsed time = 1.28e+02 s)\n", + "\n", + " Sol. ||E|| = 7.049695e+01\n", + " Field energy E (9.430e-10 J) + H (9.616e-10 J) = 1.905e-09 J\n", + " S[1][1] = +4.739e-01+3.874e-01i, |S[1][1]| = -4.264e+00, arg(S[1][1]) = +3.926e+01\n", + "\n", + "It 35/61: ω/2π = 3.350e+00 GHz (total elapsed time = 1.30e+02 s)\n", + "\n", + " Sol. ||E|| = 6.376662e+01\n", + " Field energy E (7.481e-10 J) + H (7.601e-10 J) = 1.508e-09 J\n", + " S[1][1] = +6.699e-01+2.525e-01i, |S[1][1]| = -2.903e+00, arg(S[1][1]) = +2.066e+01\n", + "\n", + "It 36/61: ω/2π = 3.375e+00 GHz (total elapsed time = 1.32e+02 s)\n", + "\n", + " Sol. ||E|| = 5.811103e+01\n", + " Field energy E (5.964e-10 J) + H (6.011e-10 J) = 1.198e-09 J\n", + " S[1][1] = +7.821e-01+1.002e-01i, |S[1][1]| = -2.064e+00, arg(S[1][1]) = +7.300e+00\n", + "\n", + " Wrote fields to disk (Paraview) at step 36\n", + "\n", + "It 37/61: ω/2π = 3.400e+00 GHz (total elapsed time = 1.35e+02 s)\n", + "\n", + " Sol. ||E|| = 5.369081e+01\n", + " Field energy E (4.855e-10 J) + H (4.835e-10 J) = 9.691e-10 J\n", + " S[1][1] = +8.372e-01-4.174e-02i, |S[1][1]| = -1.533e+00, arg(S[1][1]) = -2.854e+00\n", + "\n", + "It 38/61: ω/2π = 3.425e+00 GHz (total elapsed time = 1.37e+02 s)\n", + "\n", + " Sol. ||E|| = 5.034358e+01\n", + " Field energy E (4.057e-10 J) + H (3.980e-10 J) = 8.037e-10 J\n", + " S[1][1] = +8.570e-01-1.655e-01i, |S[1][1]| = -1.182e+00, arg(S[1][1]) = -1.093e+01\n", + "\n", + "It 39/61: ω/2π = 3.450e+00 GHz (total elapsed time = 1.39e+02 s)\n", + "\n", + " Sol. ||E|| = 4.784135e+01\n", + " Field energy E (3.480e-10 J) + H (3.355e-10 J) = 6.835e-10 J\n", + " S[1][1] = +8.553e-01-2.712e-01i, |S[1][1]| = -9.412e-01, arg(S[1][1]) = -1.759e+01\n", + "\n", + "It 40/61: ω/2π = 3.475e+00 GHz (total elapsed time = 1.41e+02 s)\n", + "\n", + " Sol. ||E|| = 4.598016e+01\n", + " Field energy E (3.058e-10 J) + H (2.892e-10 J) = 5.950e-10 J\n", + " S[1][1] = +8.407e-01-3.615e-01i, |S[1][1]| = -7.708e-01, arg(S[1][1]) = -2.327e+01\n", + "\n", + "It 41/61: ω/2π = 3.500e+00 GHz (total elapsed time = 1.44e+02 s)\n", + "\n", + " Sol. ||E|| = 4.459951e+01\n", + " Field energy E (2.744e-10 J) + H (2.545e-10 J) = 5.289e-10 J\n", + " S[1][1] = +8.179e-01-4.391e-01i, |S[1][1]| = -6.464e-01, arg(S[1][1]) = -2.823e+01\n", + "\n", + " Wrote fields to disk (Paraview) at step 41\n", + "\n", + "It 42/61: ω/2π = 3.525e+00 GHz (total elapsed time = 1.47e+02 s)\n", + "\n", + " Sol. ||E|| = 4.357915e+01\n", + " Field energy E (2.509e-10 J) + H (2.280e-10 J) = 4.788e-10 J\n", + " S[1][1] = +7.899e-01-5.064e-01i, |S[1][1]| = -5.534e-01, arg(S[1][1]) = -3.266e+01\n", + "\n", + "It 43/61: ω/2π = 3.550e+00 GHz (total elapsed time = 1.49e+02 s)\n", + "\n", + " Sol. ||E|| = 4.283053e+01\n", + " Field energy E (2.329e-10 J) + H (2.076e-10 J) = 4.405e-10 J\n", + " S[1][1] = +7.584e-01-5.654e-01i, |S[1][1]| = -4.823e-01, arg(S[1][1]) = -3.670e+01\n", + "\n", + "It 44/61: ω/2π = 3.575e+00 GHz (total elapsed time = 1.52e+02 s)\n", + "\n", + " Sol. ||E|| = 4.228870e+01\n", + " Field energy E (2.191e-10 J) + H (1.916e-10 J) = 4.107e-10 J\n", + " S[1][1] = +7.246e-01-6.175e-01i, |S[1][1]| = -4.271e-01, arg(S[1][1]) = -4.044e+01\n", + "\n", + "It 45/61: ω/2π = 3.600e+00 GHz (total elapsed time = 1.54e+02 s)\n", + "\n", + " Sol. ||E|| = 4.190578e+01\n", + " Field energy E (2.084e-10 J) + H (1.791e-10 J) = 3.875e-10 J\n", + " S[1][1] = +6.889e-01-6.640e-01i, |S[1][1]| = -3.836e-01, arg(S[1][1]) = -4.394e+01\n", + "\n", + "It 46/61: ω/2π = 3.625e+00 GHz (total elapsed time = 1.57e+02 s)\n", + "\n", + " Sol. ||E|| = 4.164629e+01\n", + " Field energy E (2.001e-10 J) + H (1.691e-10 J) = 3.692e-10 J\n", + " S[1][1] = +6.519e-01-7.056e-01i, |S[1][1]| = -3.489e-01, arg(S[1][1]) = -4.727e+01\n", + "\n", + " Wrote fields to disk (Paraview) at step 46\n", + "\n", + "It 47/61: ω/2π = 3.650e+00 GHz (total elapsed time = 1.60e+02 s)\n", + "\n", + " Sol. ||E|| = 4.148362e+01\n", + " Field energy E (1.936e-10 J) + H (1.612e-10 J) = 3.548e-10 J\n", + " S[1][1] = +6.137e-01-7.431e-01i, |S[1][1]| = -3.210e-01, arg(S[1][1]) = -5.045e+01\n", + "\n", + "It 48/61: ω/2π = 3.675e+00 GHz (total elapsed time = 1.63e+02 s)\n", + "\n", + " Sol. ||E|| = 4.139766e+01\n", + " Field energy E (1.886e-10 J) + H (1.550e-10 J) = 3.436e-10 J\n", + " S[1][1] = +5.745e-01-7.769e-01i, |S[1][1]| = -2.983e-01, arg(S[1][1]) = -5.352e+01\n", + "\n", + "It 49/61: ω/2π = 3.700e+00 GHz (total elapsed time = 1.65e+02 s)\n", + "\n", + " Sol. ||E|| = 4.137299e+01\n", + " Field energy E (1.847e-10 J) + H (1.500e-10 J) = 3.347e-10 J\n", + " S[1][1] = +5.344e-01-8.074e-01i, |S[1][1]| = -2.799e-01, arg(S[1][1]) = -5.650e+01\n", + "\n", + "It 50/61: ω/2π = 3.725e+00 GHz (total elapsed time = 1.68e+02 s)\n", + "\n", + " Sol. ||E|| = 4.139769e+01\n", + " Field energy E (1.818e-10 J) + H (1.461e-10 J) = 3.279e-10 J\n", + " S[1][1] = +4.935e-01-8.350e-01i, |S[1][1]| = -2.648e-01, arg(S[1][1]) = -5.942e+01\n", + "\n", + "It 51/61: ω/2π = 3.750e+00 GHz (total elapsed time = 1.71e+02 s)\n", + "\n", + " Sol. ||E|| = 4.146243e+01\n", + " Field energy E (1.796e-10 J) + H (1.431e-10 J) = 3.227e-10 J\n", + " S[1][1] = +4.518e-01-8.599e-01i, |S[1][1]| = -2.524e-01, arg(S[1][1]) = -6.228e+01\n", + "\n", + " Wrote fields to disk (Paraview) at step 51\n", + "\n", + "It 52/61: ω/2π = 3.775e+00 GHz (total elapsed time = 1.74e+02 s)\n", + "\n", + " Sol. ||E|| = 4.155978e+01\n", + " Field energy E (1.780e-10 J) + H (1.408e-10 J) = 3.188e-10 J\n", + " S[1][1] = +4.094e-01-8.821e-01i, |S[1][1]| = -2.422e-01, arg(S[1][1]) = -6.510e+01\n", + "\n", + "It 53/61: ω/2π = 3.800e+00 GHz (total elapsed time = 1.77e+02 s)\n", + "\n", + " Sol. ||E|| = 4.168380e+01\n", + " Field energy E (1.769e-10 J) + H (1.392e-10 J) = 3.161e-10 J\n", + " S[1][1] = +3.662e-01-9.019e-01i, |S[1][1]| = -2.339e-01, arg(S[1][1]) = -6.790e+01\n", + "\n", + "It 54/61: ω/2π = 3.825e+00 GHz (total elapsed time = 1.80e+02 s)\n", + "\n", + " Sol. ||E|| = 4.182965e+01\n", + " Field energy E (1.763e-10 J) + H (1.380e-10 J) = 3.143e-10 J\n", + " S[1][1] = +3.223e-01-9.193e-01i, |S[1][1]| = -2.272e-01, arg(S[1][1]) = -7.068e+01\n", + "\n", + "It 55/61: ω/2π = 3.850e+00 GHz (total elapsed time = 1.83e+02 s)\n", + "\n", + " Sol. ||E|| = 4.199333e+01\n", + " Field energy E (1.760e-10 J) + H (1.374e-10 J) = 3.134e-10 J\n", + " S[1][1] = +2.777e-01-9.344e-01i, |S[1][1]| = -2.218e-01, arg(S[1][1]) = -7.345e+01\n", + "\n", + "It 56/61: ω/2π = 3.875e+00 GHz (total elapsed time = 1.86e+02 s)\n", + "\n", + " Sol. ||E|| = 4.217152e+01\n", + " Field energy E (1.760e-10 J) + H (1.371e-10 J) = 3.131e-10 J\n", + " S[1][1] = +2.324e-01-9.472e-01i, |S[1][1]| = -2.175e-01, arg(S[1][1]) = -7.622e+01\n", + "\n", + " Wrote fields to disk (Paraview) at step 56\n", + "\n", + "It 57/61: ω/2π = 3.900e+00 GHz (total elapsed time = 1.89e+02 s)\n", + "\n", + " Sol. ||E|| = 4.236137e+01\n", + " Field energy E (1.763e-10 J) + H (1.372e-10 J) = 3.135e-10 J\n", + " S[1][1] = +1.865e-01-9.577e-01i, |S[1][1]| = -2.142e-01, arg(S[1][1]) = -7.898e+01\n", + "\n", + "It 58/61: ω/2π = 3.925e+00 GHz (total elapsed time = 1.92e+02 s)\n", + "\n", + " Sol. ||E|| = 4.256043e+01\n", + " Field energy E (1.768e-10 J) + H (1.376e-10 J) = 3.144e-10 J\n", + " S[1][1] = +1.400e-01-9.658e-01i, |S[1][1]| = -2.117e-01, arg(S[1][1]) = -8.175e+01\n", + "\n", + "It 59/61: ω/2π = 3.950e+00 GHz (total elapsed time = 1.95e+02 s)\n", + "\n", + " Sol. ||E|| = 4.276658e+01\n", + " Field energy E (1.774e-10 J) + H (1.383e-10 J) = 3.157e-10 J\n", + " S[1][1] = +9.293e-02-9.717e-01i, |S[1][1]| = -2.100e-01, arg(S[1][1]) = -8.454e+01\n", + "\n", + "It 60/61: ω/2π = 3.975e+00 GHz (total elapsed time = 1.98e+02 s)\n", + "\n", + " Sol. ||E|| = 4.297789e+01\n", + " Field energy E (1.782e-10 J) + H (1.392e-10 J) = 3.174e-10 J\n", + " S[1][1] = +4.541e-02-9.752e-01i, |S[1][1]| = -2.088e-01, arg(S[1][1]) = -8.733e+01\n", + "\n", + "It 61/61: ω/2π = 4.000e+00 GHz (total elapsed time = 2.02e+02 s)\n", + "\n", + " Sol. ||E|| = 4.319265e+01\n", + " Field energy E (1.791e-10 J) + H (1.403e-10 J) = 3.194e-10 J\n", + " S[1][1] = -2.519e-03-9.763e-01i, |S[1][1]| = -2.082e-01, arg(S[1][1]) = -9.015e+01\n", + "\n", + " Wrote fields to disk (Paraview) at step 61\n", + "\n", + "Completed 0 iterations of adaptive mesh refinement (AMR):\n", + " Indicator norm = 1.328e-01, global unknowns = 189090\n", + " Max. iterations = 0, tol. = 1.000e-02\n", + "\n", + "Estimated peak per-rank memory usage is: Min. 172.6M, Max. 682.4M, Avg. 209.3M, Total 3.3G\n", + "Estimated peak per-node memory usage is: Min. 3.3G, Max. 3.3G, Avg. 3.3G, Total 3.3G\n", + "\n", + "Elapsed Time Report (s) Min. Max. Avg.\n", + "==============================================================\n", + "Initialization 0.035 0.116 0.109\n", + " Mesh Preprocessing 0.067 0.141 0.071\n", + "Operator Construction 0.450 60.657 56.887\n", + "Linear Solve 8.382 8.548 8.413\n", + " Setup 3.987 3.988 3.988\n", + " Preconditioner 57.619 58.089 58.026\n", + " Coarse Solve 4.493 4.822 4.534\n", + "PROM Construction 0.142 0.147 0.143\n", + "PROM Solve 0.011 0.012 0.011\n", + "Estimation 0.047 0.052 0.050\n", + " Construction 0.300 0.301 0.300\n", + " Solve 3.153 3.156 3.154\n", + "Postprocessing 0.454 76.883 5.232\n", + " Far Fields 44.855 44.868 44.861\n", + " Paraview 4.867 21.089 20.074\n", + "Disk IO 0.081 0.082 0.082\n", + "--------------------------------------------------------------\n", + "Total 206.296 206.316 206.307\n", + "\n", + "Peak Memory Per-Node Total Total HWM\n", + "==============================================================\n", + "Initialization 76.8M 76.8M 76.8M\n", + " Mesh Preprocessing 59.8M 59.8M 136.6M\n", + "Operator Construction 150.9M 150.9M 287.6M\n", + "Linear Solve 2.1M 2.1M 289.7M\n", + " Setup 525.7M 525.7M 815.4M\n", + " Preconditioner 13.9M 13.9M 829.3M\n", + " Coarse Solve 1.1G 1.1G 1.9G\n", + "PROM Construction 0.0K 0.0K 1.9G\n", + "PROM Solve 520.0K 520.0K 1.9G\n", + "Estimation 6.2M 6.2M 1.9G\n", + " Construction 222.9M 222.9M 2.1G\n", + " Solve 256.0K 256.0K 2.1G\n", + "Postprocessing 495.1M 495.1M 2.6G\n", + " Far Fields 0.0K 0.0K 2.6G\n", + " Paraview 2.2M 2.2M 2.6G\n", + "Disk IO 11.2M 11.2M 2.6G\n", + "--------------------------------------------------------------\n", + "Total 2.9G 2.9G 2.9G\n", + "\n" + ] + } + ], "source": [ "from palacetoolkit.simulation import set_palace_path, run_palace\n", "run_palace(config_file=\"patch.config\", num_procs=16)" @@ -872,10 +2383,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "17031e58", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0wAAAIjCAYAAAAwSJuMAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAf1dJREFUeJzt3Xl4VNX9x/HPzGRfyUoChLDvIAiCIIqACBWptq4oCkqp4la3qv21FWjdcGm1VXG3VkWpdaUqgrK4oSD7vgbZEgIEkkBIMpm5vz/CDIRkkpkwyZ2ZvF/Pw/OYO2fu/eZknDvfOed8j8UwDEMAAAAAgGqsZgcAAAAAAIGKhAkAAAAAPCBhAgAAAAAPSJgAAAAAwAMSJgAAAADwgIQJAAAAADwgYQIAAAAAD0iYAAAAAMADEiYAAAAA8ICECQCAJmTq1KmyWCyNdj2LxaKpU6c22vUAwN9ImACgga1Zs0aXX365srOzFRUVpZYtW2rEiBH65z//aXZoAe+zzz7jw3YjeOSRR/TRRx+ZHQYABCSLYRiG2UEAQKj6/vvvNXToULVu3Vrjx49XRkaGdu3apR9++EHbtm3T1q1bzQ4xoN1222167rnnxK3KfyoqKlRRUaGoqCj3sbi4OF1++eX617/+5ffrWSwWTZkyhcQXQNAKMzsAAAhlDz/8sBITE7V06VI1a9asymP5+fnmBHWKiooKOZ1ORUREmB1KozAMQ6WlpYqOjjY7FFOEhYUpLIzbPwB4iyl5ANCAtm3bpu7du1dLliQpPT29zueff/756tGjh5YtW6ZBgwYpOjpabdu21QsvvFClXXl5uR588EH17dtXiYmJio2N1bnnnqsFCxZUabdjxw5ZLBY9+eSTevrpp9W+fXtFRkZq/fr19TrHc889p3bt2ikmJkYXXnihdu3aJcMw9Ne//lWtWrVSdHS0LrnkEhUUFFT73T7//HOde+65io2NVXx8vEaPHq1169a5H58wYYKee+45SZWjFK5/Lk6nU08//bS6d++uqKgoNW/eXDfddJMOHTpU5Tpt2rTRxRdfrC+++EL9+vVTdHS0XnzxRUnSvHnzNHjwYDVr1kxxcXHq3Lmz/u///q/Ov4vFYtFtt92m9957T926dVN0dLQGDhyoNWvWSJJefPFFdejQQVFRUTr//PO1Y8eOKs//5ptvdMUVV6h169aKjIxUVlaW7rrrLh07dqzatVzXiIqKUo8ePfThhx9qwoQJatOmTY1/k5deesn9dz3rrLO0dOnSKuc7dQ2TxWLR0aNH9cYbb7j7eMKECe6/wcnX8XQOSSorK9Ndd92ltLQ0xcfH65e//KV2795dY//t2bNHN954o5o3b67IyEh1795dr732mqfuBgBT8RUTADSg7OxsLV68WGvXrlWPHj3qdY5Dhw7poosu0pVXXqmxY8fqP//5jyZPnqyIiAjdeOONkqSioiK98sorGjt2rCZNmqTi4mK9+uqrGjlypJYsWaLevXtXOefrr7+u0tJS/fa3v1VkZKSSk5N9Psfbb7+t8vJy3X777SooKNDjjz+uK6+8UsOGDdPChQt1//33a+vWrfrnP/+pe++9t8oH4jfffFPjx4/XyJEjNX36dJWUlGjGjBkaPHiwVqxYoTZt2uimm27S3r17NW/ePL355pvV+uWmm27Sv/71L91www264447lJOTo2effVYrVqzQd999p/DwcHfbTZs2aezYsbrppps0adIkde7cWevWrdPFF1+sXr166S9/+YsiIyO1detWfffdd179Xb755ht98sknuvXWWyVJjz76qC6++GLdd999ev7553XLLbfo0KFDevzxx3XjjTdq/vz57ue+9957Kikp0eTJk5WSkqIlS5bon//8p3bv3q333nvP3e7TTz/VVVddpZ49e+rRRx/VoUOHNHHiRLVs2bLGmGbOnKni4mLddNNNslgsevzxx/XrX/9a27dvr9IfJ3vzzTf1m9/8Rv3799dvf/tbSVL79u296oOT/eY3v9Fbb72la665RoMGDdL8+fM1evToau327duns88+2510pqWl6fPPP9fEiRNVVFSkO++80+drA0CDMgAADWbu3LmGzWYzbDabMXDgQOO+++4zvvjiC6O8vNyr5w8ZMsSQZDz11FPuY2VlZUbv3r2N9PR093kqKiqMsrKyKs89dOiQ0bx5c+PGG290H8vJyTEkGQkJCUZ+fn6V9r6eIy0tzTh8+LD7+B/+8AdDknHGGWcYdrvdfXzs2LFGRESEUVpaahiGYRQXFxvNmjUzJk2aVOVaeXl5RmJiYpXjt956q1HTreqbb74xJBlvv/12leNz5sypdjw7O9uQZMyZM6dK27///e+GJGP//v3Vzl8XSUZkZKSRk5PjPvbiiy8akoyMjAyjqKjIfdzVLye3LSkpqXbORx991LBYLMbPP//sPtazZ0+jVatWRnFxsfvYwoULDUlGdna2+5jrb5KSkmIUFBS4j3/88ceGJGP27NnuY1OmTKnWp7Gxscb48eOrxTR+/Pgq1/F0jpUrVxqSjFtuuaVKu2uuucaQZEyZMsV9bOLEiUZmZqZx4MCBKm2vvvpqIzExsca+AQAzMSUPABrQiBEjtHjxYv3yl7/UqlWr9Pjjj2vkyJFq2bKlPvnkE6/OERYWpptuusn9c0REhG666Sbl5+dr2bJlkiSbzeZeg+R0OlVQUKCKigr169dPy5cvr3bOyy67TGlpaVWO+XqOK664QomJie6fBwwYIEkaN25clTUyAwYMUHl5ufbs2SOpchrc4cOHNXbsWB04cMD9z2azacCAAdWmANbkvffeU2JiokaMGFHlHH379lVcXFy1c7Rt21YjR46scsw1TfLjjz+W0+ms85qnGj58eJXpaq7f/7LLLlN8fHy149u3b3cfO3n91NGjR3XgwAENGjRIhmFoxYoVkqS9e/dqzZo1uv766xUXF+duP2TIEPXs2bPGmK666iolJSW5fz733HOrXbshfPbZZ5KkO+64o8rxU0eLDMPQ+++/rzFjxsgwjCp/u5EjR6qwsLDG1xoAmImECQAa2FlnnaUPPvhAhw4d0pIlS/SHP/xBxcXFuvzyy7V+/fo6n9+iRQvFxsZWOdapUydJqrI25o033lCvXr0UFRWllJQUpaWl6dNPP1VhYWG1c7Zt27bGa/lyjtatW1f52ZU8ZWVl1XjctbZoy5YtkqRhw4YpLS2tyr+5c+d6VQxjy5YtKiwsVHp6erVzHDlypNo5avp9r7rqKp1zzjn6zW9+o+bNm+vqq6/Wf/7zH6+Tp/r+/pK0c+dOTZgwQcnJyYqLi1NaWpqGDBkiSe6+/vnnnyVJHTp0qHbtmo7VFJMreTp1XZe//fzzz7JardWm8nXu3LnKz/v379fhw4f10ksvVfu73XDDDZICpxgKALiwhgkAGklERITOOussnXXWWerUqZNuuOEGvffee5oyZcppn/utt97ShAkTdOmll+r3v/+90tPTZbPZ9Oijj2rbtm3V2tdUIc7Xc9hsthpj8XTcOF4a3JWQvPnmm8rIyKjWzpsKbk6nU+np6Xr77bdrfPzU0bOaft/o6Gh9/fXXWrBggT799FPNmTNHs2bN0rBhwzR37lyPv4dLfX9/h8OhESNGqKCgQPfff7+6dOmi2NhY7dmzRxMmTKjXaJe31/aVpw1uHQ5Hvc7n+t3GjRun8ePH19imV69e9To3ADQUEiYAMEG/fv0kSbm5uXW23bt3r44ePVpllGnz5s2S5J4S9t///lft2rXTBx98UOVDri/JmD/O4Q3XKER6erouuOCCWtt6+sDevn17ffnllzrnnHNOqzy41WrV8OHDNXz4cP3tb3/TI488oj/+8Y9asGBBnbHV15o1a7R582a98cYbuv76693H582bV6Vddna2JNW4V5e/9+/y1M9JSUk6fPhwteOu0S+X7OxsOZ1Obdu2rcqo0qZNm6q0c1XQczgcDda/AOBvTMkDgAa0YMGCGr/dd635OHXKUk0qKircZbClyhLiL774otLS0tS3b19JJ0YWTr7Wjz/+qMWLF3sdqz/O4Y2RI0cqISFBjzzyiOx2e7XH9+/f7/5vV5J46of2K6+8Ug6HQ3/961+rPb+ioqLGD/mnqqnUuasSYFlZWZ3Pr6+a+tkwDD3zzDNV2rVo0UI9evTQv//9bx05csR9fNGiRe7y5f4SGxtbY5+1b99ehYWFWr16tftYbm6uPvzwwyrtfvGLX0iS/vGPf1Q5/vTTT1f52Waz6bLLLtP777+vtWvXVrveyX97AAgUjDABQAO6/fbbVVJSol/96lfq0qWLysvL9f3332vWrFlq06aNe91GbVq0aKHp06drx44d6tSpk2bNmqWVK1fqpZdecpeKvvjii/XBBx/oV7/6lUaPHq2cnBy98MIL6tatW5UP27Xxxzm8kZCQoBkzZui6667TmWeeqauvvlppaWnauXOnPv30U51zzjl69tlnJcmdEN5xxx0aOXKkbDabrr76ag0ZMkQ33XSTHn30Ua1cuVIXXnihwsPDtWXLFr333nt65plndPnll9cax1/+8hd9/fXXGj16tLKzs5Wfn6/nn39erVq10uDBg/32+56qS5cuat++ve69917t2bNHCQkJev/992tcZ/TII4/okksu0TnnnKMbbrhBhw4d0rPPPqsePXr49W/St29fffnll/rb3/6mFi1aqG3bthowYICuvvpq3X///frVr36lO+64w13+vVOnTlWKM/Tu3Vtjx47V888/r8LCQg0aNEhfffVVjSNhjz32mBYsWKABAwZo0qRJ6tatmwoKCrR8+XJ9+eWXNSayAGAqk6rzAUCT8Pnnnxs33nij0aVLFyMuLs6IiIgwOnToYNx+++3Gvn376nz+kCFDjO7duxs//fSTMXDgQCMqKsrIzs42nn322SrtnE6n8cgjjxjZ2dlGZGSk0adPH+N///tftbLQrvLTTzzxRLVrne45FixYYEgy3nvvvSrHX3/9dUOSsXTp0mrtR44caSQmJhpRUVFG+/btjQkTJhg//fSTu01FRYVx++23G2lpaYbFYqlWDvull14y+vbta0RHRxvx8fFGz549jfvuu8/Yu3evu012drYxevToar/vV199ZVxyySVGixYtjIiICKNFixbG2LFjjc2bN1dreypJxq233lrlmC/9sn79euOCCy4w4uLijNTUVGPSpEnGqlWrDEnG66+/XuX57777rtGlSxcjMjLS6NGjh/HJJ58Yl112mdGlS5c6r+2K9eSy3jWVFd+4caNx3nnnGdHR0YakKiXG586da/To0cOIiIgwOnfubLz11ls1nuPYsWPGHXfcYaSkpBixsbHGmDFjjF27dlW7vmEYxr59+4xbb73VyMrKMsLDw42MjAxj+PDhxksvvVQtfgAwm8Uw6rkSFADQ4M4//3wdOHCgxulLaLp69+6ttLS0auueAAD+xxomAAAClN1uV0VFRZVjCxcu1KpVq3T++eebExQANDGsYQIAIEDt2bNHF1xwgcaNG6cWLVpo48aNeuGFF5SRkaGbb77Z7PAAoEkgYQIAIEAlJSWpb9++euWVV7R//37FxsZq9OjReuyxx5SSkmJ2eADQJLCGCQAAAAA8YA0TAAAAAHhAwgQAAAAAHjSpNUxOp1N79+5VfHy8LBaL2eEAAAAAMIlhGCouLlaLFi1ktXoeR2pSCdPevXuVlZVldhgAAAAAAsSuXbvUqlUrj483qYQpPj5eUmWnJCQkmBxN8LLb7Zo7d64uvPBChYeHmx1Ok0G/m4N+Nwf9bg763Rz0uznod3MEUr8XFRUpKyvLnSN40qQSJtc0vISEBBKm02C32xUTE6OEhATTX+hNCf1uDvrdHPS7Oeh3c9Dv5qDfzRGI/V7XUh2KPgAAAACAByRMAAAAAOABCRMAAAAAeEDCBAAAAAAekDABAAAAgAckTAAAAADgAQkTAAAAAHhAwgQAAAAAHpAwAQAAAIAHJEwAAAAA4AEJEwAAAAB4EHQJ03PPPac2bdooKipKAwYM0JIlS8wOCQAAAECICqqEadasWbr77rs1ZcoULV++XGeccYZGjhyp/Px8s0MDAAAAEIKCKmH629/+pkmTJumGG25Qt27d9MILLygmJkavvfaa2aH5xOE0tHjbQX28co8Wbzsoh9PwW/uGPDcAAADQ1ISZHYC3ysvLtWzZMv3hD39wH7Narbrgggu0ePHiGp9TVlamsrIy989FRUWSJLvdLrvd3rABe/DFun166LONyis6EVdGQqT+dFEXjeze/LTaN+S5XRxOQz9s269lByxK3JKvs9unyWa1ePx9HU5DP/18SPnFZUqPj1S/7CSP7X1pW5/2wc71mjXrtdtU0e/moN/NQb+bg343B/1ujkDqd29jsBiGERRDCnv37lXLli31/fffa+DAge7j9913nxYtWqQff/yx2nOmTp2qadOmVTs+c+ZMxcTENGi8NVl10KLXNrsG9U7+YF/5J7ixk1NnpBj1at+Q5z75OR/ssOpw+Yn2zSIM/bpN9ba+tm/Ic7s4DWlbkUVFdikhXGqfYKi2/MrX9gAAAAgeJSUluuaaa1RYWKiEhASP7UI6YapphCkrK0sHDhyotVMagsNp6Pynvq4ymnOq5Nhw/ePKMxQRVpnITJ65UgePlnts3zwhUp/dNkhhNqtGPvOtx3NbJGUkRmrB3efJZrXUGcup7aXK0ajb312lU18srvzhn1efUWVUypf2DXnuk5/TkKNvjTE6ZrfbNW/ePI0YMULh4eG1toX/0O/moN/NQb+bg343B/1ujkDq96KiIqWmptaZMAXNlLzU1FTZbDbt27evyvF9+/YpIyOjxudERkYqMjKy2vHw8PBG/wP9tO1grcmSJBUctWvc6z95fc59RWXq+8iCOtsZknILy3T+U98oPipMpXZHrbG42t/09gq1aBYjm1X6cPmeagmKq60k/fHj9Sp3SJHhNtks0p8/WV9r+79+tlGDOqQrIsyqhz7b5LGtRdLDn2/SL3q1dCd7D3/ufXtJmrM2t8YEa19RmW5/d5VmjDtTo3pkuo/Xp/202euVW1jqPpaZGKUpY7pVaVff9lJlgrU8p0DLDliUsrtYAzukh/T0w0BkxvsG6Hez0O/moN/NQb+bIxD63dvrB03CFBERob59++qrr77SpZdeKklyOp366quvdNttt5kbnBfy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adBreLJjxw6vpruVl5erQ4cO+v777+s818qVK32K4YEHHtDtt9/u03MAoDbnd07XiG7NVeE0NOWTtVq9+7AkqdzubPD3dABA4CFh8qM5a3M1ePp8jX35B/3u3ZUa+/IPGjx9vuaszW3UOBYtWqRhw4YpOTlZMTEx6tixo8aPH6/y8nJJUmlpqSZMmKCePXsqLCxMl156abVz5Obm6pprrlGnTp1ktVp155131jueF154QW3bttWgQYO8fo4rgXL9i4iIUIcOHfTQQw/JME58YLn33nv1xhtvaPv27fWODwBO9efR3RRmtej7bQWav3G/JOm/y3eb8p4OADAXCZOfzFmbq8lvLVduYWmV43mFpZr81vJGu8GuX79eo0aNUr9+/fT1119rzZo1+uc//6mIiAg5HA5JlSXUo6Ojdccdd+iCCy6o8TxlZWVKS0vTn/70J51xxhn1jscwDD377LOaOHFivZ7/5ZdfKjc3V1u2bNG0adP08MMP67XXXnM/npqaqpEjR2rGjBn1jhEATrU+t1AVNYwmNfZ7OgDAfCRMHhiGoZLyCq/+FZfaNeWTdappoobr2NRP1qu41O7V+U4eQfHV3LlzlZGRoccff1w9evRQ+/btNWrUKL388svuPYliY2M1Y8YMTZo0SRkZGTWep02bNnrmmWd0/fXXKzExscY23li2bJm2bdum0aNHVzm+ZMkS9enTR1FRUerXr59WrFhR4/NTUlKUkZGh7OxsXXvttTrnnHO0fPnyKm3GjBmjd999t94xAsDJHE5D02avr/Ex17vztNnrmZ4HAE0EG9d6cMzuULcHv/DLuQxJeUWl6jl1rlft1/9lpGIi6venycjIUG5urr7++mudd9559TqHP33zzTfq1KmT4uPj3ceOHDmiiy++WCNGjNBbb72lnJwc/e53v6vzXD/99JOWLVum66+/vsrx/v37a/fu3dqxY4dp67kAhI4lOQXVZguczJCUW1iqJTkFGtiejc4BINSRMIWYK664Ql988YWGDBmijIwMnX322Ro+fLiuv/56JSQkNHo8P//8s1q0aFHl2MyZM+V0OvXqq68qKipK3bt31+7duzV58uRqzx80aJCsVqvKy8tlt9v129/+tlrC5Dr/zz//TMIE4LS5quL5qx0AILiRMHkQHW7T+r+M9KrtkpwCTXh9aZ3t/nXDWerfNtmra9eX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cOFCjR07VgsWLNDixYuVlZWlCy+8UHv27GnkyIObr/3usmPHDt17770699xzGynS0OJrv3NP9Q9f+517qn8tXbpUL774onr16lVru6C5rxpALfLz8w1JxqJFizy2mTFjhtGuXTujvLy8ESMLbd70+6233moMGzasyrG7777bOOeccxo6vJCWlJRkvPLKKzU+duWVVxqjR4+ucmzAgAHGTTfd1BihhbTa+v1UFRUVRnx8vPHGG280cFShr65+r6ioMAYNGmS88sorxvjx441LLrmk8YILYbX1O/fUhlNbv3NP9Z/i4mKjY8eOxrx584whQ4YYv/vd7zy2DZb7KiNMqFVhYaEkKTk52WObTz75RAMHDtStt96q5s2bq0ePHnrkkUfkcDgaK8yQ402/Dxo0SMuWLXNPTdq+fbs+++wzXXTRRY0SY6hxOBx69913dfToUQ0cOLDGNosXL9YFF1xQ5djIkSO1ePHixggxJHnT76cqKSmR3W6v9f8P1M7bfv/LX/6i9PR0TZw4sRGjC13e9Dv3VP/zpt+5p/rPrbfeqtGjR1e7X9YkWO6rYWYHgMDldDp155136pxzzlGPHj08ttu+fbvmz5+va6+9Vp999pm2bt2qW265RXa7XVOmTGnEiEODt/1+zTXX6MCBAxo8eLAMw1BFRYVuvvlmpg/4aM2aNRo4cKBKS0sVFxenDz/8UN26dauxbV5enpo3b17lWPPmzZWXl9cYoYYUX/r9VPfff79atGjh1c0YVfnS799++61effVVrVy5snGDDEG+9Dv3VP/xpd+5p/rHu+++q+XLl2vp0qVetQ+a+6rZQ1wIXDfffLORnZ1t7Nq1q9Z2HTt2NLKysoyKigr3saeeesrIyMho6BBDkrf9vmDBAqN58+bGyy+/bKxevdr44IMPjKysLOMvf/lLI0UaGsrKyowtW7YYP/30k/HAAw8Yqampxrp162psGx4ebsycObPKseeee85IT09vjFBDii/9frJHH33USEpKMlatWtUIUYYeb/u9qKjIaNOmjfHZZ5+5jzElr/58eb1zT/UfX/qde+rp27lzp5Genl7l/bmuKXnBcl8lYUKNbr31VqNVq1bG9u3b62x73nnnGcOHD69y7LPPPjMkGWVlZQ0VYkjypd8HDx5s3HvvvVWOvfnmm0Z0dLThcDgaKsSQN3z4cOO3v/1tjY9lZWUZf//736sce/DBB41evXo1QmShrbZ+d3niiSeMxMREY+nSpY0UVejz1O8rVqwwJBk2m839z2KxGBaLxbDZbMbWrVtNiDZ01PZ6557acGrrd+6pp+/DDz+s9r4hyf2+cfKXAC7Bcl9lDROqMAxDt912mz788EPNnz9fbdu2rfM555xzjrZu3Sqn0+k+tnnzZmVmZioiIqIhww0Z9en3kpISWa1V/xe22Wzu86F+nE6nysrKanxs4MCB+uqrr6ocmzdvntdrb+BZbf0uSY8//rj++te/as6cOerXr18jRhbaPPV7ly5dtGbNGq1cudL975e//KWGDh2qlStXKisry4RoQ0dtr3fuqQ2ntn7nnnr6hg8fXu19o1+/frr22mu1cuVKd3+eLGjuq+bmawg0kydPNhITE42FCxcaubm57n8lJSXuNtddd53xwAMPuH/euXOnER8fb9x2223Gpk2bjP/9739Genq68dBDD5nxKwSl+vT7lClTjPj4eOOdd94xtm/fbsydO9do3769ceWVV5rxKwSlBx54wFi0aJGRk5NjrF692njggQcMi8VizJ071zCM6n3+3XffGWFhYcaTTz5pbNiwwZgyZYoRHh5urFmzxqxfISj52u+PPfaYERERYfz3v/+t8v9HcXGxWb9CUPK130/FlLz68bXfuaf6h6/9zj21YZw6JS9Y76skTKhCUo3/Xn/9dXebIUOGGOPHj6/yvO+//94YMGCAERkZabRr1854+OGHaxx6Rc3q0+92u92YOnWq0b59eyMqKsrIysoybrnlFuPQoUONHn+wuvHGG43s7GwjIiLCSEtLM4YPH+6+mRpGza/1//znP0anTp2MiIgIo3v37sann37ayFEHP1/7PTs7u8b/P6ZMmdL4wQex+rzeT0bCVD/16XfuqafP137nntowTk2YgvW+ajEMxhkBAAAAoCasYQIAAAAAD0iYAAAAAMADEiYAAAAA8ICECQAAAAA8IGECAAAAAA9ImAAAAADAAxImAAAAAPCAhAkAAAAAPCBhAgA0eVOnTlXv3r1P+zzl5eXq0KGDvv/++9MPqp4eeOAB3X777aZdHwBCDQkTAMBtwoQJslgs1f5t3brV7NAa1L333quvvvrqtM/zwgsvqG3btho0aFCV4wsWLNDFF1+stLQ0RUVFqX379rrqqqv09ddfu9ssXLhQFotFhw8frnbeNm3a6Omnn/YqhnvvvVdvvPGGtm/ffjq/CgDgOBImAEAVo0aNUm5ubpV/bdu2rdauvLzchOgaRlxcnFJSUk7rHIZh6Nlnn9XEiROrHH/++ec1fPhwpaSkaNasWdq0aZM+/PBDDRo0SHfddddpXbMmqampGjlypGbMmOH3cwNAU0TCBACoIjIyUhkZGVX+2Ww2nX/++brtttt05513uj+US9LatWv1i1/8QnFxcWrevLmuu+46HThwwH0+p9Opxx9/XB06dFBkZKRat26thx9+WFLNoyorV66UxWLRjh073Me+/fZbnXvuuYqOjlZWVpbuuOMOHT161P14mzZt9Mgjj+jGG29UfHy8WrdurZdeeqnK77V7926NHTtWycnJio2NVb9+/fTjjz9Kqj4lb+nSpRoxYoRSU1OVmJioIUOGaPny5bX227Jly7Rt2zaNHj3afWznzp268847deedd+qNN97QsGHDlJ2drV69eul3v/udfvrpJ+/+KCf517/+VeMo4NSpU91txowZo3fffdfncwMAqiNhAgB47Y033lBERIS+++47vfDCCzp8+LCGDRumPn366KefftKcOXO0b98+XXnlle7n/OEPf9Bjjz2mP//5z1q/fr1mzpyp5s2be33Nbdu2adSoUbrsssu0evVqzZo1S99++61uu+22Ku2eeuop9evXTytWrNAtt9yiyZMna9OmTZKkI0eOaMiQIdqzZ48++eQTrVq1Svfdd5+cTmeN1ywuLtb48eP17bff6ocfflDHjh110UUXqbi42GOc33zzjTp16qT4+Hj3sffff192u1333Xdfjc+xWCxe94PLVVddVWX075133lFYWJjOOeccd5v+/ftr9+7dVZJOAEA9GQAAHDd+/HjDZrMZsbGx7n+XX365YRiGMWTIEKNPnz5V2v/1r381LrzwwirHdu3aZUgyNm3aZBQVFRmRkZHGyy+/XOP1FixYYEgyDh065D62YsUKQ5KRk5NjGIZhTJw40fjtb39b5XnffPONYbVajWPHjhmGYRjZ2dnGuHHj3I87nU4jPT3dmDFjhmEYhvHiiy8a8fHxxsGDB2uMY8qUKcYZZ5zhsV8cDocRHx9vzJ4922Ob3/3ud8awYcOqHLv55puNhISEKsf++9//Vunf1atXV+mLkx9z/bNYLMbf//73atfcunWrkZycbDz++ONVjhcWFhqSjIULF3qMFwDgnTBTszUAQMAZOnRolfUvsbGx7v/u27dvlbarVq3SggULFBcXV+0827Zt0+HDh1VWVqbhw4fXO55Vq1Zp9erVevvtt93HDMOQ0+lUTk6OunbtKknq1auX+3GLxaKMjAzl5+dLqpzm16dPHyUnJ3t1zX379ulPf/qTFi5cqPz8fDkcDpWUlGjnzp0en3Ps2DFFRUVVO37qKNLIkSO1cuVK7dmzR+eff74cDkeVx7/55psqo1SSdP7551c7b2FhoS6++GKNHj1av//976s8Fh0dLUkqKSmp9fcEANSNhAkAUEVsbKw6dOjg8bGTHTlyRGPGjNH06dOrtc3MzKyzUpvVWjkz3DAM9zG73V7tGjfddJPuuOOOas9v3bq1+7/Dw8OrPGaxWNxT7lwJhLfGjx+vgwcP6plnnlF2drYiIyM1cODAWgtdpKamas2aNVWOdezYUYWFhcrLy1NGRoakygITHTp0UFhYzbfgtm3bqlmzZlWOndrW4XDoqquuUkJCQrW1WpJUUFAgSUpLS6vzdwUA1I41TACAejvzzDO1bt06tWnTRh06dKjyLzY2Vh07dlR0dLTHkt2uD/S5ubnuYytXrqx2jfXr11c7f4cOHRQREeFVnL169dLKlSvdiURdvvvuO91xxx266KKL1L17d0VGRlYpZFGTPn36aOPGjVWSv8svv1zh4eE1JpSn46677tKaNWv00Ucf1TiqtXbtWoWHh6t79+5+vS4ANEUkTACAerv11ltVUFCgsWPHaunSpdq2bZu++OIL3XDDDXI4HIqKitL999+v++67T//+97+1bds2/fDDD3r11VclSR06dFBWVpamTp2qLVu26NNPP9VTTz1V5Rr333+/vv/+e912221auXKltmzZoo8//rha0YfajB07VhkZGbr00kv13Xffafv27Xr//fe1ePHiGtt37NhRb775pjZs2KAff/xR1157bZ2jVEOHDtWRI0e0bt0697HWrVvrqaee0jPPPKPx48drwYIF2rFjh5YvX65//OMfkiSbzeb17yFJr7/+up5//nm98MILslgsysvLU15eno4cOeJu880337irCgIATg8JEwCg3lq0aKHvvvtODodDF154oXr27Kk777xTzZo1c0+3+/Of/6x77rlHDz74oLp27aqrrrrKvbYoPDxc77zzjjZu3KhevXpp+vTpeuihh6pco1evXlq0aJE2b96sc889V3369NGDDz6oFi1aeB1nRESE5s6dq/T0dF100UXq2bOnHnvsMY/JyquvvqpDhw7pzDPP1HXXXac77rhD6enptV4jJSVFv/rVr6qstZKk22+/XXPnztX+/ft1+eWXuyvu5eTkaM6cOerZs6fXv4ckLVq0SA6HQ7/85S+VmZnp/vfkk0+627z77ruaNGmST+cFANTMYpw8dwAAANTb6tWrNWLECG3btq3GQhiN4fPPP9c999yj1atXe1wnBQDwHiNMAAD4iWuULCcnx7QYjh49qtdff51kCQD8hBEmAAAAAPCAESYAAAAA8ICECQAAAAA8IGECAAAAAA9ImAAAAADAAxImAAAAAPCAhAkAAAAAPCBhAgAAAAAPSJgAAAAAwAMSJgAAAADw4P8Bh5VNHjEZWzoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# S parameters. Return the frequency where the minimum is reached.\n", "from pathlib import Path\n", @@ -886,6 +2408,208 @@ "f = s_params(str(postpro_dir / \"port-S.csv\"))" ] }, + { + "cell_type": "markdown", + "id": "1a31fe60", + "metadata": {}, + "source": [ + "### Additional Field Visualizations at Resonant Frequency f\n", + "\n", + "The next two views use the new VTU workflow:\n", + "\n", + "- Surface-current-oriented view over antenna conductors.\n", + "- A z-slice in the air region above the patch to inspect forward propagation." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "0568918b", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "0721e14e80444fb09260a6d85ac8ba4c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Widget(value='