-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit eae3053
Showing
8 changed files
with
174 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
DEPENDS= intro.md _config.yml _toc.yml | ||
.PHONY: clean | ||
|
||
_build: $(DEPENDS) | ||
jupyter-book build --all . |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Time domain methods for eigenvalue problems |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
# Book settings | ||
# Learn more at https://jupyterbook.org/customize/config.html | ||
|
||
title: Time domain methods for eigenvalue problems | ||
author: M. Wess | ||
logo: logo.png | ||
copyright: '2024' | ||
# Force re-execution of notebooks on each build. | ||
# See https://jupyterbook.org/content/execute.html | ||
only_build_toc_files: true | ||
execute: | ||
# execute_notebooks: cache | ||
# execute_notebooks: 'off' | ||
execute_notebooks: auto | ||
# execute_notebooks: force | ||
timeout: 100 | ||
exclude_patterns: | ||
- 'asdfadf' | ||
|
||
# Define the name of the latex output file for PDF builds | ||
latex: | ||
latex_documents: | ||
targetname: book.tex | ||
|
||
# Add a bibtex file so that we can create citations | ||
bibtex_bibfiles: | ||
- references.bib | ||
|
||
# Information about where the book exists on the web | ||
repository: | ||
url: https://github.com/markuswess/td_evp # Online location of your book | ||
path_to_book: . # Optional path to your book, relative to the repository root | ||
branch: master # Which branch of the repository should be used when creating links (optional) | ||
|
||
# Add GitHub buttons to your book | ||
# See https://jupyterbook.org/customize/config.html#add-a-link-to-your-repository | ||
html: | ||
use_issues_button: true | ||
use_repository_button: true | ||
# use_multitoc_numbering: false | ||
parse: | ||
myst_enable_extensions: | ||
# don't forget to list any other extensions you want enabled, | ||
# including those that are enabled by default! | ||
- amsmath | ||
- dollarmath | ||
sphinx: | ||
extra_extensions: | ||
- sphinx_proof | ||
- 'sphinx.ext.autodoc' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# Table of contents | ||
# Learn more at https://jupyterbook.org/customize/toc.html | ||
|
||
format: jb-book | ||
root: intro | ||
options: | ||
numbered: 2 | ||
maxdepth: 2 | ||
chapters: | ||
- file: installation |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Installation |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# The Dual Cell Method in NGSolve | ||
|
||
by *M. Wess*, *J. Schöberl* | ||
|
||
TU Wien, Institute of Analysis and Scientific Computing, | ||
|
||
*based on joint work with B. Kapidani and L. Codecasa* | ||
|
||
|
||
--- | ||
|
||
|
||
This book is designed to provide an introduction and examples to the implementation of the Dual Cell Method in the high-order finite element library [NGSolve](https://ngsolve.org). | ||
|
||
|
||
The *Dual Cell Method* (DCM) is a Galerkin Method for the simulation of time-domain waves (e.g., electromagnetic or acoustiv waves) in mixed formulation. It is a Disconitinuous Galerkin variant where the two wave-fields are approximated by conforming functions on meshes dual to each other. Thus the respective ansatz functions feature discontinuities on different element boundaries. | ||
|
||
For a full mathematical introduction to the method we refer to {cite}`WKCS2023,KCS2021`. | ||
|
||
--- | ||
|
||
## Table of Contents | ||
```{tableofcontents} | ||
``` | ||
|
||
|
||
--- | ||
|
||
## References | ||
```{bibliography} | ||
:filter: docname in docnames | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
make | ||
ghp-import -n -p -f _build/html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
@article{WKCS2023, | ||
title = {Mass lumping the dual cell method to arbitrary polynomial degree for acoustic and electromagnetic waves}, | ||
journal = {Journal of Computational Physics}, | ||
pages = {113196}, | ||
year = {2024}, | ||
issn = {0021-9991}, | ||
doi = {https://doi.org/10.1016/j.jcp.2024.113196}, | ||
urlremoved = {https://www.sciencedirect.com/science/article/pii/S0021999124004455}, | ||
author = {Markus Wess and Bernard Kapidani and Lorenzo Codecasa and Joachim Schöberl}, | ||
keywords = {Time-Domain Maxwell Equations, Cell Method, Discontinuous Galerkin, Dual Grids, Mass Lumping, High-Order Finite Elements}, | ||
abstract = {We present a fundamental improvement of a high polynomial degree time domain cell method recently introduced by the last three authors. The published work introduced a method featuring block-diagonal system matrices where the block size and conditioning scaled poorly with respect to polynomial degree. The issue is herein bypassed by the construction of new basis functions exploiting quadrature rule based mass lumping techniques for arbitrary polynomial degrees in two dimensions for the Maxwell equations and the acoustic wave equation in the first order velocity pressure formulation. We characterize the degrees of freedom of all new discrete approximation spaces we employ for differential forms and show that the resulting block diagonal (inverse) mass matrices have block sizes independent of the polynomial degree. We demonstrate on an extensive number of examples how the new technique is applicable and efficient for large scale computations.} | ||
} | ||
|
||
@article {KCS2021, | ||
AUTHOR = {Kapidani, Bernard and Codecasa, Lorenzo and Sch\"{o}berl, | ||
Joachim}, | ||
TITLE = {An arbitrary-order cell method with block-diagonal | ||
mass-matrices for the time-dependent 2{D} {M}axwell equations}, | ||
JOURNAL = {J. Comput. Phys.}, | ||
FJOURNAL = {Journal of Computational Physics}, | ||
VOLUME = {433}, | ||
YEAR = {2021}, | ||
PAGES = {Paper No. 110184, 20}, | ||
ISSN = {0021-9991,1090-2716}, | ||
MRCLASS = {65M60 (78M10)}, | ||
MRNUMBER = {4216954}, | ||
MRREVIEWER = {Jinbiao\ Wu}, | ||
DOI = {10.1016/j.jcp.2021.110184}, | ||
URLREMOVED = {https://doi.org/10.1016/j.jcp.2021.110184}, | ||
} | ||
|
||
|
||
@article{Stolk, | ||
author = {Stolk, Christiaan C.}, | ||
title = {A Time-Domain Preconditioner for the Helmholtz Equation}, | ||
journal = {SIAM Journal on Scientific Computing}, | ||
volume = {43}, | ||
number = {5}, | ||
pages = {A3469-A3502}, | ||
year = {2021}, | ||
doi = {10.1137/20M1359997}, | ||
} | ||
|
||
|
||
@article{AGFR, | ||
author = {Appel\"{o}, Daniel and Garcia, Fortino and Runborg, Olof}, | ||
title = {WaveHoltz: Iterative Solution of the Helmholtz Equation via the Wave Equation}, | ||
journal = {SIAM Journal on Scientific Computing}, | ||
volume = {42}, | ||
number = {4}, | ||
pages = {A1950-A1983}, | ||
year = {2020}, | ||
doi = {10.1137/19M1299062}, | ||
} | ||
@misc{nw24, | ||
title={A Krylov Eigenvalue Solver Based on Filtered Time Domain Solutions}, | ||
author={Lothar Nannen and Markus Wess}, | ||
year={2024}, | ||
eprint={2402.08515}, | ||
archivePrefix={arXiv}, | ||
primaryClass={id='math.NA' full_name='Numerical Analysis' is_active=True alt_name='cs.NA' in_archive='math' is_general=False description='Numerical algorithms for problems in analysis and algebra, scientific computation'} | ||
} | ||
|
||
@article{Knyazev, | ||
author = {Knyazev, Andrew V.}, | ||
title = {Toward the Optimal Preconditioned Eigensolver: Locally Optimal Block Preconditioned Conjugate Gradient Method}, | ||
journal = {SIAM Journal on Scientific Computing}, | ||
volume = {23}, | ||
number = {2}, | ||
pages = {517-541}, | ||
year = {2001}, | ||
doi = {10.1137/S1064827500366124}, | ||
} |