Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a few references to the FE_Q_iso_Q1 element documentation. #12765

Merged
merged 1 commit into from
Sep 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
37 changes: 37 additions & 0 deletions doc/doxygen/references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -1478,3 +1478,40 @@ @article{kronbichler2019multigrid
year={2019},
publisher={ACM New York, NY, USA}
}

@article{Boffi2011,
doi = {10.1007/s10915-011-9549-4},
url = {https://doi.org/10.1007/s10915-011-9549-4},
year = {2011},
month = nov,
publisher = {Springer Science and Business Media {LLC}},
volume = {52},
number = {2},
pages = {383--400},
author = {D. Boffi and N. Cavallini and F. Gardini and L. Gastaldi},
title = {Local Mass Conservation of Stokes Finite Elements},
journal = {Journal of Scientific Computing}
}

@article{Taylor73,
title={{A numerical solution of the Navier-Stokes equations using the finite element technique}},
author={C. Taylor and P. Hood},
journal={Comput. Fluids},
volume={1},
number={},
pages={73--100},
year={1973}}

@article{Bercovier1979,
doi = {10.1007/bf01399555},
url = {https://doi.org/10.1007/bf01399555},
year = {1979},
month = jun,
publisher = {Springer Science and Business Media {LLC}},
volume = {33},
number = {2},
pages = {211--224},
author = {M. Bercovier and O. Pironneau},
title = {Error estimates for finite element method solution of the Stokes problem in the primitive variables},
journal = {Numerische Mathematik}
}
42 changes: 27 additions & 15 deletions include/deal.II/fe/fe_q_iso_q1.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,28 +30,32 @@ DEAL_II_NAMESPACE_OPEN
/*@{*/

/**
* Implementation of a scalar Lagrange finite element @p Qp-iso-Q1 that
* defines the finite element space of continuous, piecewise linear elements
* with @p p subdivisions in each coordinate direction. It yields an element
* with the same number of degrees of freedom as the @p Qp elements but using
* linear interpolation instead of higher order one. This type of element is
* also called macro element in the literature as it really consists of
* several smaller elements, namely <i>p</i><tt><sup>dim</sup></tt> such
* sub-cells.
* Implementation of a scalar Lagrange finite element @p Qp-iso-Q1
* that defines the finite element space of continuous, piecewise
* linear elements with @p p subdivisions in each coordinate
* direction. It yields an element with the same number of degrees of
* freedom as the @p Qp elements but using linear interpolation
* instead of higher order one. In other words, on every cell, the
* shape functions are not of higher order polynomial degree
* interpolating a set of node points, but are piecewise (bi-,
* tri-)linear *within* the cell and interpolating the same set of
* node points. This type of element is also called *macro element* in
* the literature as it can be seen as consisting of several smaller
* elements, namely <i>p</i><tt><sup>dim</sup></tt> such sub-cells.
*
* The numbering of degrees of freedom is done in exactly the same way as in
* FE_Q of degree @p p. See there for a detailed description on how degrees of
* freedom are numbered within one element.
*
* This element represents a Q-linear finite element space on a reduced mesh
* This element represents a Q-linear finite element space on a reduced mesh of
* size <i>h/p</i>. Its effect is equivalent to using FE_Q of degree one on a
* finer mesh by a factor @p p if an equivalent quadrature is used. However,
* this element reduces the flexibility in the choice of (adaptive) mesh size
* by exactly this factor @p p, which typically reduces efficiency. On the
* other hand, comparing this element with @p p subdivisions to the FE_Q
* element of degree @p p on the same mesh shows that the convergence is
* typically much worse for smooth problems. In particular, @p Qp elements
* achieve interpolation orders of <i>h<sup>p+1</sup></i> in the L2 norm,
* achieve interpolation orders of <i>h<sup>p+1</sup></i> in the $L_2$ norm,
* whereas these elements reach only <i>(h/p)<sup>2</sup></i>. For these two
* reasons, this element is usually not very useful as a standalone. In
* addition, any evaluation of face terms on the boundaries within the
Expand All @@ -71,11 +75,19 @@ DEAL_II_NAMESPACE_OPEN
* solution and stabilization techniques are used that work for linears but
* not higher order elements. </li>
*
* <li> Stokes/Navier Stokes systems such as the one discussed in step-22 could be
* solved with Q2-iso-Q1 elements for velocities instead of Q2 elements.
* Combined with Q1 pressures they give a stable mixed element pair. However,
* they perform worse than the standard (Taylor-Hood $Q_2\times Q_1$)
* approach in most situations. </li>
* <li> Stokes/Navier Stokes systems such as the one discussed in
* step-22 could be solved with Q2-iso-Q1 elements for velocities
* instead of $Q_2$ elements. Combined with $Q_1$ pressures they give
* a stable mixed element pair. However, they perform worse than the
* standard (Taylor-Hood $Q_2\times Q_1$) approach in most
* situations. (See, for example, @cite Boffi2011 .) This combination
* of subdivided elements for the velocity and non-subdivided elements
* for the pressure is sometimes called the "Bercovier-Pironneau
* element" and dates back to around the same time as the Taylor-Hood
* element (namely, the mid-1970s). For more information, see the
* paper by Bercovier and Pironneau from 1979 @cite Bercovier1979, and
* for the origins of the comparable Taylor-Hood element see
* @cite Taylor73 from 1973.</li>
*
* <li> Preconditioning systems of FE_Q systems of higher order @p p with a
* preconditioner based on @p Qp-iso-Q1 elements: Some preconditioners like
Expand Down