Skip to content

Commit

Permalink
empty book commit
Browse files Browse the repository at this point in the history
  • Loading branch information
markuswess committed Jun 19, 2024
0 parents commit eae3053
Show file tree
Hide file tree
Showing 8 changed files with 174 additions and 0 deletions.
5 changes: 5 additions & 0 deletions Makefile
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 .
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Time domain methods for eigenvalue problems
50 changes: 50 additions & 0 deletions _config.yml
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'
10 changes: 10 additions & 0 deletions _toc.yml
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
1 change: 1 addition & 0 deletions installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Installation
32 changes: 32 additions & 0 deletions intro.md
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
```
2 changes: 2 additions & 0 deletions publish.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
make
ghp-import -n -p -f _build/html
73 changes: 73 additions & 0 deletions references.bib
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},
}

0 comments on commit eae3053

Please sign in to comment.