Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1022,7 +1022,7 @@ \section{Conclusions}\label{sec:conclusion}

% -----------------------------------------------------------------------------
\bibliographystyle{siamplain}
\bibliography{references}
\bibliography{../references}
% -----------------------------------------------------------------------------

\end{document}
Expand Down
12 changes: 12 additions & 0 deletions papers/high-order-bddc-2021/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.*.swp
*.aux
*.bbl
*.blg
*.fdb_latexmk
*.fls
*.log
*.out
*.pdf
*.synctex.gz
*.thm
siamart.cls
33 changes: 33 additions & 0 deletions papers/high-order-bddc-2021/data/bddc-condition-numbers-32.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
p,m,kind,θ,λ_min,λ_max,κ
1,4,lumped,1,0.999999999999919,4.44354670514879,4.44354670514915
1,4,lumped,1,0.999999999999919,4.44354670514879,4.44354670514915
1,4,dirichlet,0,0.999999999999946,2.34861818767369,2.34861818767381
1,4,dirichlet,-0.0625,0.999999999999946,2.34861818767369,2.34861818767381
1,6,lumped,1,0.99999999999986,8.16263332834066,8.16263332834181
1,6,lumped,1,0.99999999999986,8.16263332834066,8.16263332834181
1,6,dirichlet,0,0.999999999999777,2.82522182919664,2.82522182919727
1,6,dirichlet,-0.0625,0.999999999999777,2.82522182919664,2.82522182919727
1,8,lumped,1,0.99999999999969,12.2685887833641,12.2685887833679
1,8,lumped,1,0.99999999999969,12.2685887833641,12.2685887833679
1,8,dirichlet,-0.0625,0.999999999999503,3.19260786785099,3.19260786785258
1,8,dirichlet,0,0.999999999999503,3.19260786785099,3.19260786785258
1,10,lumped,1,0.999999999999688,16.6712358297221,16.6712358297273
1,10,lumped,1,0.999999999999688,16.6712358297221,16.6712358297273
1,10,dirichlet,-0.0625,0.999999999999389,3.49525132179121,3.49525132179335
1,10,dirichlet,0,0.999999999999389,3.49525132179121,3.49525132179335
1,12,lumped,1,0.999999999999248,21.314347684091,21.314347684107
1,12,lumped,1,0.999999999999248,21.314347684091,21.314347684107
1,12,dirichlet,-0.0625,0.999999999999161,3.75422422223343,3.75422422223658
1,12,dirichlet,0,0.999999999999161,3.75422422223343,3.75422422223658
1,14,lumped,1,0.99999999999943,26.1594484432303,26.1594484432452
1,14,lumped,1,0.99999999999943,26.1594484432303,26.1594484432452
1,14,dirichlet,0,0.999999999998964,3.98147178391333,3.98147178391745
1,14,dirichlet,-0.0625,0.999999999998964,3.98147178391333,3.98147178391745
1,16,lumped,1,0.999999999999456,31.1786033591328,31.1786033591497
1,16,lumped,1,0.999999999999456,31.1786033591328,31.1786033591497
1,16,dirichlet,0,0.999999999998699,4.18449860326451,4.18449860326995
1,16,dirichlet,-0.0625,0.999999999998699,4.18449860326451,4.18449860326995
1,32,lumped,1,0.999999999998981,75.761107494851,75.7611074949282
1,32,lumped,1,0.999999999998981,75.761107494851,75.7611074949282
1,32,dirichlet,0,0.999999999995734,5.33120628628446,5.3312062863072
1,32,dirichlet,-0.0625,0.999999999995734,5.33120628628446,5.3312062863072
17 changes: 17 additions & 0 deletions papers/high-order-bddc-2021/data/bddc-condition-numbers-64.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
p,m,kind,θ,λ_min,λ_max,κ
1,4,lumped,1.0,0.9999999999995242,4.443546705148792,4.443546705150907
1,4,lumped,1.0,0.9999999999995242,4.443546705148792,4.443546705150907
1,4,dirichlet,0.0,0.9999999999996358,2.3508069384136467,2.350806938414503
1,4,dirichlet,-0.031250000000000035,0.9999999999996358,2.3508069384136467,2.350806938414503
1,8,lumped,1.0,0.999999999999014,12.268588783364079,12.268588783376176
1,8,lumped,1.0,0.999999999999014,12.268588783364079,12.268588783376176
1,8,dirichlet,-0.031250000000000035,0.999999999998345,3.1956201298283142,3.195620129833603
1,8,dirichlet,0.0,0.999999999998345,3.1956201298283142,3.195620129833603
1,16,lumped,1.0,0.9999999999973945,31.17860335913278,31.178603359214016
1,16,lumped,1.0,0.9999999999973945,31.17860335913278,31.178603359214016
1,16,dirichlet,0.0,0.9999999999945208,4.188166252021851,4.188166252044799
1,16,dirichlet,-0.031250000000000035,0.9999999999945208,4.188166252021851,4.188166252044799
1,32,lumped,1.0,0.9999999999961624,75.76110749485096,75.7611074951417
1,32,lumped,1.0,0.9999999999961624,75.76110749485096,75.7611074951417
1,32,dirichlet,0.0,0.9999999999831699,5.3354780255459175,5.335478025635714
1,32,dirichlet,-0.031250000000000035,0.9999999999831699,5.3354780255459175,5.335478025635714
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
p,m,kind,θ,λ_min,λ_max,κ
2,1,Dirichlet,1.0,0.9999999999999472,2.0416666666666665,2.0416666666667744
2,1,Dirichlet,0.0,0.9999999999999472,2.0416666666666665,2.0416666666667744
3,1,Dirichlet,-0.0625,0.999999999999844,2.614399208665368,2.6143992086657755
3,1,Dirichlet,0.0,0.999999999999844,2.614399208665368,2.6143992086657755
4,1,Dirichlet,-0.0625,0.9999999999996337,3.2414831312996704,3.2414831313008574
4,1,Dirichlet,0.0,0.9999999999996337,3.2414831312996704,3.2414831313008574
8,1,Dirichlet,-0.0625,0.999999999998532,5.194529913448625,5.194529913456251
8,1,Dirichlet,0.0,0.999999999998532,5.194529913448625,5.194529913456251
16,1,Dirichlet,0.0,0.999999999993277,7.756317490204899,7.756317490257044
16,1,Dirichlet,-0.0625,0.999999999993277,7.756317490204899,7.756317490257044
32,1,Dirichlet,-0.0625,0.9999999999587119,10.96078129475398,10.96078129520653
32,1,Dirichlet,0.0,0.9999999999587119,10.96078129475398,10.96078129520653
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
p,m,kind,θ,λ_min,λ_max,κ
2,2,Dirichlet,0.0,0.9999999999998268,2.7000272676727954,2.700027267673263
2,2,Dirichlet,-0.0625,0.9999999999998268,2.7000272676727954,2.700027267673263
3,2,Dirichlet,-0.0625,0.9999999999992926,3.567928437112254,3.5679284371147784
3,2,Dirichlet,0.0,0.9999999999992926,3.567928437112254,3.5679284371147784
4,2,Dirichlet,-0.0625,0.9999999999988743,4.305060011561867,4.305060011566713
4,2,Dirichlet,0.0,0.9999999999988743,4.305060011561867,4.305060011566713
8,2,Dirichlet,-0.0625,0.9999999999952132,6.510880021845141,6.510880021876307
8,2,Dirichlet,0.0,0.9999999999952132,6.510880021845141,6.510880021876307
16,2,Dirichlet,-0.0625,0.9999999999808564,9.353764059470207,9.35376405964927
16,2,Dirichlet,0.0,0.9999999999808564,9.353764059470207,9.35376405964927
32,2,Dirichlet,0.0,0.9999999998855446,12.85606582669229,12.856065828163738
32,2,Dirichlet,-0.0625,0.9999999998855446,12.85606582669229,12.856065828163738
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions papers/high-order-bddc-2021/jupyter/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Jupyter notebook checkpoint files
.ipynb_checkpoints/

# File generated by Pkg, the package manager, based on a corresponding Project.toml
Manifest.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Dirichlet BDDC Example"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# dependencies\n",
"using LFAToolkit\n",
"using LinearAlgebra\n",
"using Pkg\n",
"Pkg.activate(\"./\")\n",
"Pkg.instantiate()\n",
"using Plots"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"code_folding": []
},
"outputs": [],
"source": [
"# setup\n",
"p = 4\n",
"mesh = Mesh2D(1.0, 1.0)\n",
"\n",
"# diffusion operator\n",
"diffusion = GalleryOperator(\"diffusion\", p + 1, p + 2, mesh)\n",
"\n",
"# Dirichlet BDDC smoother\n",
"bddc = DirichletBDDC(diffusion)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"code_folding": [
14,
16,
27
],
"scrolled": true
},
"outputs": [],
"source": [
"# full operator symbols\n",
"numbersteps = 4\n",
"maxeigenvalue = 0\n",
"θ_min = -π/2\n",
"θ_max = 3π/2\n",
"θ_step = 2π/(numbersteps-1)\n",
"θ_range = θ_min:θ_step:θ_max\n",
"\n",
"# compute and plot smoothing factor\n",
"# setup\n",
"ω = [1.0]\n",
"eigenvalues = []\n",
"\n",
"# compute\n",
"for i in 1:numbersteps, j in 1:numbersteps\n",
" θ = [θ_range[i], θ_range[j]]\n",
" if sqrt(abs(θ[1])^2 + abs(θ[2])^2) > π/128\n",
" A = computesymbols(bddc, ω, θ)\n",
" currenteigenvalues = [abs(val) for val in eigvals(I - A)]\n",
" push!(eigenvalues, currenteigenvalues)\n",
" end\n",
"end\n",
"\n",
"# plot\n",
"histogram(\n",
" eigenvalues,\n",
" title=\"Dirichlet BDDC Eigenvalues\",\n",
" legend=false,\n",
" aspect_ratio=:equal,\n",
" color=:cividis\n",
")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"savefig(\"DirichletBDDCHighOrderEigenvalues\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 1.6.1",
"language": "julia",
"name": "julia-1.6"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.6.2"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
126 changes: 126 additions & 0 deletions papers/high-order-bddc-2021/jupyter/Dirichlet-BDDC-High-Order.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Dirichlet BDDC Example"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# dependencies\n",
"using LFAToolkit\n",
"using LinearAlgebra\n",
"using Pkg\n",
"Pkg.activate(\"./\")\n",
"Pkg.instantiate()\n",
"using Plots"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"code_folding": []
},
"outputs": [],
"source": [
"# setup\n",
"p = 4\n",
"mesh = Mesh2D(1.0, 1.0)\n",
"\n",
"# diffusion operator\n",
"diffusion = GalleryOperator(\"diffusion\", p + 1, p + 2, mesh)\n",
"\n",
"# Dirichlet BDDC smoother\n",
"bddc = DirichletBDDC(diffusion)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"code_folding": [
14,
16,
27
],
"scrolled": true
},
"outputs": [],
"source": [
"# full operator symbols\n",
"numbersteps = 250\n",
"maxeigenvalue = 0\n",
"θ_min = -π/2\n",
"θ_max = 3π/2\n",
"θ_step = 2π/(numbersteps-1)\n",
"θ_range = θ_min:θ_step:θ_max\n",
"\n",
"# compute and plot smoothing factor\n",
"# setup\n",
"ω = [1.0]\n",
"maxeigenvalues = zeros(numbersteps, numbersteps)\n",
"\n",
"# compute\n",
"for i in 1:numbersteps, j in 1:numbersteps\n",
" θ = [θ_range[i], θ_range[j]]\n",
" if sqrt(abs(θ[1])^2 + abs(θ[2])^2) > π/128\n",
" A = computesymbols(bddc, ω, θ)\n",
" eigenvalues = [abs(val) for val in eigvals(I - A)]\n",
" maxeigenvalues[i, j] = max(eigenvalues...)\n",
" maxeigenvalue = max(maxeigenvalue, maxeigenvalues[i, j])\n",
" end\n",
"end\n",
"\n",
"# plot\n",
"println(\"max eigenvalue: \", maxeigenvalue)\n",
"xrange = θ_range/π\n",
"heatmap(\n",
" xrange,\n",
" xlabel=\"θ/π\",\n",
" xtickfont=font(12, \"Courier\"),\n",
" xrange,\n",
" ylabel=\"θ/π\",\n",
" ytickfont=font(12, \"Courier\"),\n",
" maxeigenvalues,\n",
" title=\"Dirichlet BDDC Symbol\",\n",
" transpose=true,\n",
" aspect_ratio=:equal,\n",
" color=:cividis\n",
")\n",
"xlims!(θ_min/π, θ_max/π)\n",
"ylims!(θ_min/π, θ_max/π)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"savefig(\"DirichletBDDCHighOrder\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 1.6.1",
"language": "julia",
"name": "julia-1.6"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.6.2"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Loading
Loading