oev_poster_gernot_a0
TRANSCRIPT
AN ADAPTIVE SOLVER FOR AN ADAPTIVE SOLVER FOR PARABOLIC PARTIAL PARABOLIC PARTIAL
DIFFERENTIAL EQUATIONSDIFFERENTIAL EQUATIONS
AN ADAPTIVE SOLVER FOR AN ADAPTIVE SOLVER FOR PARABOLIC PARTIAL PARABOLIC PARTIAL
DIFFERENTIAL EQUATIONSDIFFERENTIAL EQUATIONS
Student Author: DI Gernot PulvererFaculty Advisor: Prof. Dr. Ewa B. WeinmüllerThis work was supported by the project “Development of adaptive software for singular boundary value problems” of the Austrian Science Fund (FWF) under grant no. P17253-N12, project leader: A.o. Univ. Prof. Dr. Ewa B. Weinmüller
BIBLIOGRAPHYBIBLIOGRAPHYBIBLIOGRAPHYBIBLIOGRAPHY
[1] I. Rachunková, O. Koch, G. Pulverer, and E. Weinmüller. On a singular boundary value problem arising in the theory of shallow membrane caps. Math. Anal. and Appl., 332:523-541, 2007[2] S. Stanek, G. Pulverer, and E. Weinmüller. Analysis and numerical solution of positive and dead core solutions of singular two-point boundary value problems. Comp. Math. Appl., 56:1820-1837, 2008.[3] G. Kitzhofer, O. Koch, P. Lima, and E. Weinmüller. Efficient numerical solution of the density profile equation in hydrodynamics. J. Sci. Comput., 32:411-424, 2006.[4] W. Auzinger, G. Kneisl, O. Koch, and E. Weinmüller. A collocation code for boundary value problems in ordinary differential equations. Numer. Algorithms, 33:27, 2003.[5] E. Rothe. Zweidimensionale parabolische Randwertaufgaben als Grenzfall eindimensionaler Randwertaufgaben. Math. Ann. 102: 650-670, 1930.
AN EXAMPLEAN EXAMPLEAN EXAMPLEAN EXAMPLE
As an example, consider the imaginary time Schrödinger equation:
Here, V:R→R is a smooth potential that is 2π-periodic. The following initial/boundary conditions are used:
with 0 ≤ t ≤ b and –π ≤ x ≤ π. For numerical calculations we use
and
Figure 1 shows the numerical solution of the imaginary time Schrödinger equation. The lines drawn in x direction visualize the size of the time steps.
INTRODUCTIONINTRODUCTIONINTRODUCTIONINTRODUCTION
The aim of the work presented in this poster is an efficient solution of initial/boundary value problems (IBVPs) of partial differential equations (PDEs) of the type
with initial and boundary conditions
where the solution u(x,t) is a vector-valued function and a ≤ x ≤ b, t ≥ 0.
SOFTWARESOFTWARESOFTWARESOFTWARE
TRANSFORMATIONTRANSFORMATIONTRANSFORMATIONTRANSFORMATION
In order to solve Problem (1) – (3), the transverse method of lines approach is used, compare [5]. This method is based on a discretization in time so that each time step of the resulting procedure leads to a boundary value problem (BVP) for a system of ordinary differential equations (ODEs).
For the time discretization we apply the implicit Euler method.
subject to initial/boundary conditions (2) – (3). With vn(x) := u(x,tn), n ≥ 0, t0 = 0, in each time step a system of ODEs of second order for vn+1
needs to be solved:
with boundary conditions
Note that vn is given as the numerical solution of the BVP (4) – (5) of the previous time step and v0(x) = u0(x). Thus, Problem (4) – (5) is indeed a BVP for a system of ODEs.
The approximation for u is a polynomial function
which satisfies the differential equation at m interior collocation points
The code Timetraveller is a Matlab solver for the numerical solution of IBVPs of PDEs. Using the transverse method of lines, a sequence of BVPs for ODEs results from semi-discretization in time. These problems can be solved by our Matlab code BVPSuite to find the numerical solution adaptively in both, space and time. The Matlab solver BVPSuite is equipped with an error estimation procedure and a grid adaptation strategy and has already been successfully applied to a variety of problems, see for example [1] – [3].
BVPSuite uses the collocation method for the solution of the BVPs. The numerical approximation is computed on a mesh
In Timetraveller, the error estimation is based on the mesh-halving principle in both, the space and the time direction. In space, the error estimator of BVPSuite divides each interval [ξi, ξi+1] into two sub-intervals of equal length to calculate a numerical solution on a denser mesh and thereby estimate the error. In time, a step from tn to tn+1 and two steps with a halved step size from tn to tn+1 are made to get the two solutions for the error estimation. Comparing the solutions at tn+1 provides the error estimate
Based on the error estimate, the grid is adapted in order to satisfy the tolerance on a mesh with a number of mesh points as small as possible. The important question is how to optimally locate these points and how many are necessary to satisfy the required tolerance in a most efficient way.
CONCEPT OF ADAPTIVITYCONCEPT OF ADAPTIVITYCONCEPT OF ADAPTIVITYCONCEPT OF ADAPTIVITY
The efficient solution of problem (4) – (5) requires the implementation of an adaptive algorithm for the numerical solution of 2pBVPs for ODEs, see for instance [4] and references therein.
Figure 2 shows the mesh of an adaptive approach compared to an equidistant mesh. Note that both meshes allow the solution of the corresponding 2pBVP to the same accuracy, though in the equidistant mesh the number of points is 7 times larger than in the non-equidistant mesh.
For difficult problems the number of time steps may become large. Since every time step requires the solution of a full two-point BVP (2pBVP), an efficient way of solving these problems is crucial and a powerful grid adaptation algorithm is necessary.
Adapting the mesh to decrease the number of points is accomplished via a monitor function which identifies the regions where more points are needed to improve the accuracy of the numerical solution.
ADAPTIVE MESH SELECTIONADAPTIVE MESH SELECTIONADAPTIVE MESH SELECTIONADAPTIVE MESH SELECTION
Figure 3 shows how a monitor function is used to transform a uniform mesh in x into a non-uniform mesh in ξ(x).
There are different choices for the monitor function such as arc length, defect, local or global error. For our calculations we use the residual
which is given by inserting the collocation solution p(x) into (4). We first update the mesh density function Φ on a coarse mesh. To satisfy a tolerance requirement, we then compute the necessary number of points
where q is the order of the method.
ALGORITHMALGORITHMALGORITHMALGORITHM
Most codes are using an adaptive approach that changes the mesh density function Φ and the number of mesh points N in the same step. But the estimation of N is based on the error estimate for the numerical solution on the last mesh density. Thus, these codes are at great risk to solve to a much higher accuracy than requested. To overcome this difficulty we present the following algorithm:
Update Φ on a coarse mesh as long as Ñ ≤ 0.9N. If Ñ > 0.9N, keep the density and update N. Update N until the tolerance requirement is met.
Figure 4 shows that without this approach, another algorithm would have used over 900 mesh points in the second iteration instead of the 113 which were sufficient in our approach. The difference is caused due to the fact that only if the density has converged, the number of points is accepted. This guarantees that the points are in the best place. The coarse mesh has 50 points, so the update of the density is very cheap compared to the very time consuming calculation of the solution on 900 points.