Silicon bandgap temperature sensor: Difference between revisions
No edit summary |
en>Monkbot |
||
Line 1: | Line 1: | ||
{{No footnotes|date=August 2013}} | |||
'''Spectral methods''' are a class of techniques used in [[applied mathematics]] and [[scientific computing]] to numerically solve certain [[differential equation]]s, often involving the use of the [[Fast Fourier Transform]]. The idea is to write the solution of the differential equation as a sum of certain "basis functions" (for example, as a [[Fourier series]] which is a sum of [[Sine wave|sinusoid]]s) and then to choose the coefficients in the sum in order to satisfy the differential equation as well as possible. | |||
Spectral methods and [[finite element method]]s are closely related and built on the same ideas; the main difference between them is that spectral methods use basis functions that are nonzero over the whole domain, while finite element methods use basis functions that are nonzero only on small subdomains. In other words, spectral methods take on a ''global approach'' while finite element methods use a ''local approach''. Partially for this reason, spectral methods have excellent error properties, with the so-called "exponential convergence" being the fastest possible, when the solution is [[Smooth function|smooth]]. However, there are no known three-dimensional single domain spectral [[shock capturing]] results.<ref name="CHQZ">[http://books.google.com/books?id=7COgEw5_EBQC pp 235, Spectral Methods]: evolution to complex geometries and applications to fluid dynamics, By Canuto, Hussaini, Quarteroni and Zang, Springer, 2007.</ref> In the finite element community, a method where the degree of the elements is very high or increases as the grid parameter ''h'' decreases to zero is sometimes called a [[spectral element method]]. | |||
Spectral methods can be used to solve [[ordinary differential equations]] (ODEs), [[partial differential equations]] (PDEs) and [[eigenvalue]] problems involving differential equations. When applying spectral methods to time-dependent PDEs, the solution is typically written as a sum of basis functions with time-dependent coefficients; substituting this in the PDE yields a system of ODEs in the coefficients which can be solved using any [[numerical methods for ordinary differential equations|numerical method for ODEs]]. Eigenvalue problems for ODEs are similarly converted to matrix eigenvalue problems {{Citation needed|date=August 2013}}. | |||
Spectral methods were developed in a long series of papers by [[Steven Orszag]] starting in 1969 including, but not limited to, Fourier series methods for periodic geometry problems, polynomial spectral methods for finite and unbounded geometry problems, pseudospectral methods for highly nonlinear problems, and spectral iteration methods for fast solution of steady state problems. The implementation of the spectral method is normally accomplished either with [[collocation method|collocation]] or a [[Galerkin method|Galerkin]] or a [[Tau method|Tau]] approach. | |||
Spectral methods are computationally less expensive than finite element methods, but become less accurate for problems with complex geometries and discontinuous coefficients. This increase in error is a consequence of the [[Gibbs phenomenon]]. | |||
==Examples of spectral methods== | |||
===A concrete, linear example=== | |||
Here we presume an understanding of basic multivariate [[calculus]] and [[Fourier series]]. If g(x,y) is a known, complex-valued function of two real variables, and g is periodic in x and y (that is, g(x,y)=g(x+2π,y)=g(x,y+2π)) then we are interested in finding a function f(x,y) so that | |||
:<math>\left(\frac{\partial^2}{\partial x^2}+\frac{\partial^2}{\partial y^2}\right)f(x,y)=g(x,y)\quad \text{for all } x,y</math> | |||
<!--math>f_{xx}(x,y)+f_{yy}(x,y)=g(x,y)\quad \text{for all} x,y</math--> | |||
where the expression on the left denotes the second partial derivatives of f in x and y, respectively. This is the [[Poisson equation]], and can be physically interpreted as some sort of heat conduction problem, or a problem in potential theory, among other possibilities. | |||
If we write f and g in Fourier series: | |||
:<math>f=:\sum a_{j,k}e^{i(jx+ky)}</math> | |||
:<math>g=:\sum b_{j,k}e^{i(jx+ky)}</math> | |||
and substitute into the difference equation, we obtain this equation: | |||
:<math>\sum -a_{j,k}(j^2+k^2)e^{i(jx+ky)}=\sum b_{j,k}e^{i(jx+ky)}</math> | |||
We have exchanged partial differentiation with an infinite sum, which is legitimate if we assume for instance that ''f'' has a continuous second derivative. By the uniqueness theorem for Fourier expansions, we must then equate the Fourier coefficients term by term, giving | |||
:(*) <math>a_{j,k}=-\frac{b_{j,k}}{j^2+k^2}</math> | |||
which is an explicit formula for the Fourier coefficients ''a''<sub>''j'',''k''</sub>. | |||
With periodic boundary conditions, the [[Poisson equation]] possesses a solution only if ''b''<sub>''0'',''0''</sub> = ''0''. Therefore | |||
we can freely choose ''a''<sub>''0'',''0''</sub> which will be equal to the mean of the resolution. This corresponds to choosing the | |||
integration constant. | |||
To turn this into an algorithm, only finitely many frequencies are solved for. This introduces an error which can be shown to be proportional to <math>h^n</math>, where <math>h:=1/n</math> and <math>n</math> is the highest frequency treated. | |||
==== Algorithm ==== | |||
# Compute the Fourier transform (''b<sub>j,k''</sub>) of ''g''. | |||
# Compute the Fourier transform (''a<sub>j,k</sub>'') of ''f'' via the formula (*). | |||
# Compute ''f'' by taking an inverse Fourier transform of (''a<sub>j,k''</sub>). | |||
Since we're only interested in a finite window of frequencies (of size ''n'', say) this can be done using a [[Fast Fourier Transform]] algorithm. Therefore, globally the algorithm runs in time ''O''(''n'' log ''n''). | |||
===A concrete, nonlinear example=== | |||
We wish to solve the forced, transient, nonlinear [[Burgers' equation]] using a spectral approach. | |||
Given <math>u(x,0)</math> on the periodic domain | |||
<math>x\in\left[0,2\pi\right)</math>, find <math>u \in \mathcal{U}</math> such that | |||
:<math>\partial_{t} u + u \partial_{x} u = \rho \partial_{xx} u + f \quad \forall x\in\left[0,2\pi\right), \forall t>0</math> | |||
where ρ is the [[viscosity]] coefficient. In weak conservative form this becomes | |||
:<math>\langle \partial_{t} u , v \rangle = \langle \partial_x \left(-\frac{1}{2} u^2 + \rho \partial_{x} u\right) , v \rangle + \langle f, v \rangle \quad \forall v\in \mathcal{V}, \forall t>0</math> | |||
where <math>\langle f, g \rangle := \int_{0}^{2\pi} f(x) | |||
\overline{g(x)}\,dx</math> following [[inner product space|inner product]] notation. [[integration by parts|Integrating by parts]] and using periodicity grants | |||
:<math>\langle \partial_{t} u , v \rangle = \langle \frac{1}{2} u^2 - \rho \partial_{x} u , \partial_x v\rangle+\langle f, v \rangle \quad \forall v\in \mathcal{V}, \forall t>0.</math> | |||
To apply the Fourier-[[Galerkin method]], choose both | |||
:<math>\mathcal{U}^N := \left\{ u : u(x,t)=\sum_{k=-N/2}^{N/2-1} \hat{u}_{k}(t) e^{i k x}\right\}</math> | |||
and | |||
:<math>\mathcal{V}^N :=\text{ span}\left\{ e^{i k x} : k\in -N/2,\dots,N/2-1\right\}</math> | |||
where <math>\hat{u}_k(t):=\frac{1}{2\pi}\langle u(x,t), e^{i k x} \rangle</math>. This reduces the problem to finding <math>u\in\mathcal{U}^N</math> such that | |||
:<math>\langle \partial_{t} u , e^{i k x} \rangle = \langle \frac{1}{2} u^2 - \rho \partial_{x} u , \partial_x e^{i k x} \rangle + \langle f, e^{i k x} \rangle \quad \forall k\in \left\{ -N/2,\dots,N/2-1 \right\}, \forall t>0.</math> | |||
Using the [[orthogonality]] relation <math>\langle e^{i l x}, e^{i k x} \rangle = 2 \pi \delta_{lk}</math> where <math>\delta_{lk}</math> is the [[Kronecker delta]], we simplify the above three terms for each <math>k</math> to see | |||
:<math> | |||
\begin{align} | |||
\langle \partial_{t} u , e^{i k x}\rangle &= \langle \partial_{t} \sum_{l} \hat{u}_{l} e^{i l x} , e^{i k x} \rangle = \langle \sum_{l} \partial_{t} \hat{u}_{l} e^{i l x} , e^{i k x} \rangle = 2 \pi \partial_t \hat{u}_k, | |||
\\ | |||
\langle f , e^{i k x} \rangle &= \langle \sum_{l} \hat{f}_{l} e^{i l x} , e^{i k x}\rangle= 2 \pi \hat{f}_k, \text{ and} | |||
\\ | |||
\langle | |||
\frac{1}{2} u^2 - \rho \partial_{x} u | |||
, | |||
\partial_x e^{i k x} | |||
\rangle | |||
&= | |||
\langle | |||
\frac{1}{2} | |||
\left(\sum_{p} \hat{u}_p e^{i p x}\right) | |||
\left(\sum_{q} \hat{u}_q e^{i q x}\right) | |||
- \rho \partial_x \sum_{l} \hat{u}_l e^{i l x} | |||
, | |||
\partial_x e^{i k x} | |||
\rangle | |||
\\ | |||
&= | |||
\langle | |||
\frac{1}{2} | |||
\sum_{p} \sum_{q} \hat{u}_p \hat{u}_q e^{i \left(p+q\right) x} | |||
, | |||
i k e^{i k x} | |||
\rangle | |||
- | |||
\langle | |||
\rho i \sum_{l} l \hat{u}_l e^{i l x} | |||
, | |||
i k e^{i k x} | |||
\rangle | |||
\\ | |||
&= | |||
-\frac{i k}{2} | |||
\langle | |||
\sum_{p} \sum_{q} \hat{u}_p \hat{u}_q e^{i \left(p+q\right) x} | |||
, | |||
e^{i k x} | |||
\rangle | |||
- \rho k | |||
\langle | |||
\sum_{l} l \hat{u}_l e^{i l x} | |||
, | |||
e^{i k x} | |||
\rangle | |||
\\ | |||
&= | |||
- i \pi k \sum_{p+q=k} \hat{u}_p \hat{u}_q - 2\pi\rho{}k^2\hat{u}_k. | |||
\end{align} | |||
</math> | |||
Assemble the three terms for each <math>k</math> to obtain | |||
:<math> | |||
2 \pi \partial_t \hat{u}_k | |||
= | |||
- i \pi k \sum_{p+q=k} \hat{u}_p \hat{u}_q | |||
- 2\pi\rho{}k^2\hat{u}_k | |||
+ 2 \pi \hat{f}_k | |||
\quad k\in\left\{ -N/2,\dots,N/2-1 \right\}, \forall t>0. | |||
</math> | |||
Dividing through by <math>2\pi</math>, we finally arrive at | |||
:<math> | |||
\partial_t \hat{u}_k | |||
= | |||
- \frac{i k}{2} \sum_{p+q=k} \hat{u}_p \hat{u}_q | |||
- \rho{}k^2\hat{u}_k | |||
+ \hat{f}_k | |||
\quad k\in\left\{ -N/2,\dots,N/2-1 \right\}, \forall t>0. | |||
</math> | |||
With Fourier transformed initial conditions <math>\hat{u}_{k}(0)</math> and forcing <math>\hat{f}_{k}(t)</math>, this coupled system of ordinary differential equations may be integrated in time (using, e.g., a [[Runge Kutta]] technique) to find a solution. The nonlinear term is a [[convolution]], and there are several transform-based techniques for evaluating it efficiently. See the references by Boyd and Canuto et al. for more details. | |||
== A relationship with the spectral element method == | |||
One can show that if <math>g</math> is infinitely differentiable, then the numerical algorithm using Fast Fourier Transforms will converge faster than any polynomial in the grid size h. That is, for any n>0, there is a <math>C<\infty</math> such that the error is less than <math>Ch^n</math> for all sufficiently small values of <math>h</math>. We say that the spectral method is of order <math>n</math>, for every n>0. | |||
Because a [[spectral element method]] is a [[finite element method]] of very high order, there is a similarity in the convergence properties. However, whereas the spectral method is based on the eigendecomposition of the particular boundary value problem, the spectral element method does not use that information and works for arbitrary [[elliptic boundary value problem]]s. | |||
== See also == | |||
* [[Discrete element method]] | |||
* [[Gaussian grid]] | |||
* [[Pseudo-spectral method]] | |||
* [[Spectral element method]] | |||
* [[Galerkin method]] | |||
* [[Collocation method]] | |||
{{Numerical PDE}} | |||
== References == | |||
{{Reflist}} | |||
* Bengt Fornberg (1996) ''A Practical Guide to Pseudospectral Methods.'' Cambridge University Press, Cambridge, UK | |||
* [http://www-personal.umich.edu/~jpboyd/BOOK_Spectral2000.html Chebyshev and Fourier Spectral Methods] by John P. Boyd. | |||
* Canuto C., [[M. Yousuff Hussaini|Hussaini M. Y.]], Quarteroni A., and Zang T.A. (2006) ''Spectral Methods. Fundamentals in Single Domains.'' Springer-Verlag, Berlin Heidelberg | |||
* Javier de Frutos, Julia Novo: [http://epubs.siam.org/sam-bin/dbq/article/35198 A Spectral Element Method for the Navier--Stokes Equations with Improved Accuracy] | |||
* [http://cdm.unimo.it/home/matematica/funaro.daniele/bube.htm Polynomial Approximation of Differential Equations], by Daniele Funaro, Lecture Notes in Physics, Volume 8, Springer-Verlag, Heidelberg 1992 | |||
* D. Gottlieb and S. Orzag (1977) "Numerical Analysis of Spectral Methods : Theory and Applications", SIAM, Philadelphia, PA | |||
* J. Hesthaven, S. Gottlieb and D. Gottlieb (2007) "Spectral methods for time-dependent problems", Cambridge UP, Cambridge, UK | |||
* Steven A. Orszag (1969) ''Numerical Methods for the Simulation of Turbulence'', Phys. Fluids Supp. II, 12, 250-257 | |||
*{{Cite book | last1=Press | first1=WH | last2=Teukolsky | first2=SA | last3=Vetterling | first3=WT | last4=Flannery | first4=BP | year=2007 | title=Numerical Recipes: The Art of Scientific Computing | edition=3rd | publisher=Cambridge University Press | publication-place=New York | isbn=978-0-521-88068-8 | chapter=Section 20.7. Spectral Methods | chapter-url=http://apps.nrbook.com/empanel/index.html#pg=1083}} | |||
* Lloyd N. Trefethen (2000) ''Spectral Methods in MATLAB.'' SIAM, Philadelphia, PA | |||
{{DEFAULTSORT:Spectral Method}} | |||
[[Category:Numerical analysis]] | |||
[[Category:Numerical differential equations]] |
Revision as of 02:54, 30 January 2014
Spectral methods are a class of techniques used in applied mathematics and scientific computing to numerically solve certain differential equations, often involving the use of the Fast Fourier Transform. The idea is to write the solution of the differential equation as a sum of certain "basis functions" (for example, as a Fourier series which is a sum of sinusoids) and then to choose the coefficients in the sum in order to satisfy the differential equation as well as possible.
Spectral methods and finite element methods are closely related and built on the same ideas; the main difference between them is that spectral methods use basis functions that are nonzero over the whole domain, while finite element methods use basis functions that are nonzero only on small subdomains. In other words, spectral methods take on a global approach while finite element methods use a local approach. Partially for this reason, spectral methods have excellent error properties, with the so-called "exponential convergence" being the fastest possible, when the solution is smooth. However, there are no known three-dimensional single domain spectral shock capturing results.[1] In the finite element community, a method where the degree of the elements is very high or increases as the grid parameter h decreases to zero is sometimes called a spectral element method.
Spectral methods can be used to solve ordinary differential equations (ODEs), partial differential equations (PDEs) and eigenvalue problems involving differential equations. When applying spectral methods to time-dependent PDEs, the solution is typically written as a sum of basis functions with time-dependent coefficients; substituting this in the PDE yields a system of ODEs in the coefficients which can be solved using any numerical method for ODEs. Eigenvalue problems for ODEs are similarly converted to matrix eigenvalue problems Potter or Ceramic Artist Truman Bedell from Rexton, has interests which include ceramics, best property developers in singapore developers in singapore and scrabble. Was especially enthused after visiting Alejandro de Humboldt National Park..
Spectral methods were developed in a long series of papers by Steven Orszag starting in 1969 including, but not limited to, Fourier series methods for periodic geometry problems, polynomial spectral methods for finite and unbounded geometry problems, pseudospectral methods for highly nonlinear problems, and spectral iteration methods for fast solution of steady state problems. The implementation of the spectral method is normally accomplished either with collocation or a Galerkin or a Tau approach.
Spectral methods are computationally less expensive than finite element methods, but become less accurate for problems with complex geometries and discontinuous coefficients. This increase in error is a consequence of the Gibbs phenomenon.
Examples of spectral methods
A concrete, linear example
Here we presume an understanding of basic multivariate calculus and Fourier series. If g(x,y) is a known, complex-valued function of two real variables, and g is periodic in x and y (that is, g(x,y)=g(x+2π,y)=g(x,y+2π)) then we are interested in finding a function f(x,y) so that
where the expression on the left denotes the second partial derivatives of f in x and y, respectively. This is the Poisson equation, and can be physically interpreted as some sort of heat conduction problem, or a problem in potential theory, among other possibilities.
If we write f and g in Fourier series:
and substitute into the difference equation, we obtain this equation:
We have exchanged partial differentiation with an infinite sum, which is legitimate if we assume for instance that f has a continuous second derivative. By the uniqueness theorem for Fourier expansions, we must then equate the Fourier coefficients term by term, giving
which is an explicit formula for the Fourier coefficients aj,k.
With periodic boundary conditions, the Poisson equation possesses a solution only if b0,0 = 0. Therefore we can freely choose a0,0 which will be equal to the mean of the resolution. This corresponds to choosing the integration constant.
To turn this into an algorithm, only finitely many frequencies are solved for. This introduces an error which can be shown to be proportional to , where and is the highest frequency treated.
Algorithm
- Compute the Fourier transform (bj,k) of g.
- Compute the Fourier transform (aj,k) of f via the formula (*).
- Compute f by taking an inverse Fourier transform of (aj,k).
Since we're only interested in a finite window of frequencies (of size n, say) this can be done using a Fast Fourier Transform algorithm. Therefore, globally the algorithm runs in time O(n log n).
A concrete, nonlinear example
We wish to solve the forced, transient, nonlinear Burgers' equation using a spectral approach.
Given on the periodic domain , find such that
where ρ is the viscosity coefficient. In weak conservative form this becomes
where following inner product notation. Integrating by parts and using periodicity grants
To apply the Fourier-Galerkin method, choose both
and
where . This reduces the problem to finding such that
Using the orthogonality relation where is the Kronecker delta, we simplify the above three terms for each to see
Assemble the three terms for each to obtain
Dividing through by , we finally arrive at
With Fourier transformed initial conditions and forcing , this coupled system of ordinary differential equations may be integrated in time (using, e.g., a Runge Kutta technique) to find a solution. The nonlinear term is a convolution, and there are several transform-based techniques for evaluating it efficiently. See the references by Boyd and Canuto et al. for more details.
A relationship with the spectral element method
One can show that if is infinitely differentiable, then the numerical algorithm using Fast Fourier Transforms will converge faster than any polynomial in the grid size h. That is, for any n>0, there is a such that the error is less than for all sufficiently small values of . We say that the spectral method is of order , for every n>0.
Because a spectral element method is a finite element method of very high order, there is a similarity in the convergence properties. However, whereas the spectral method is based on the eigendecomposition of the particular boundary value problem, the spectral element method does not use that information and works for arbitrary elliptic boundary value problems.
See also
- Discrete element method
- Gaussian grid
- Pseudo-spectral method
- Spectral element method
- Galerkin method
- Collocation method
References
43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.
- Bengt Fornberg (1996) A Practical Guide to Pseudospectral Methods. Cambridge University Press, Cambridge, UK
- Chebyshev and Fourier Spectral Methods by John P. Boyd.
- Canuto C., Hussaini M. Y., Quarteroni A., and Zang T.A. (2006) Spectral Methods. Fundamentals in Single Domains. Springer-Verlag, Berlin Heidelberg
- Javier de Frutos, Julia Novo: A Spectral Element Method for the Navier--Stokes Equations with Improved Accuracy
- Polynomial Approximation of Differential Equations, by Daniele Funaro, Lecture Notes in Physics, Volume 8, Springer-Verlag, Heidelberg 1992
- D. Gottlieb and S. Orzag (1977) "Numerical Analysis of Spectral Methods : Theory and Applications", SIAM, Philadelphia, PA
- J. Hesthaven, S. Gottlieb and D. Gottlieb (2007) "Spectral methods for time-dependent problems", Cambridge UP, Cambridge, UK
- Steven A. Orszag (1969) Numerical Methods for the Simulation of Turbulence, Phys. Fluids Supp. II, 12, 250-257
- 20 year-old Real Estate Agent Rusty from Saint-Paul, has hobbies and interests which includes monopoly, property developers in singapore and poker. Will soon undertake a contiki trip that may include going to the Lower Valley of the Omo.
My blog: http://www.primaboinca.com/view_profile.php?userid=5889534 - Lloyd N. Trefethen (2000) Spectral Methods in MATLAB. SIAM, Philadelphia, PA
- ↑ pp 235, Spectral Methods: evolution to complex geometries and applications to fluid dynamics, By Canuto, Hussaini, Quarteroni and Zang, Springer, 2007.