1.
Introduction
The nonlinear hyperbolic equation of conservation laws is considered: seeking an unknown function u satisfying
with I=(0,1) and a periodic boundary condition. For simplicity, the nonlinear flux function f(u) is assumed to be smooth enough.
The Runge-Kutta discontinuous Galerkin (RKDG) method has been developed for solving time-dependent nonlinear conservation laws [1,2]. The RKDG method, by name, uses DG method for spacial discretization and explicit high order Runge-Kutta method for time discretizations. The stability and error analysis of the RKDG method has been studied in [22,23] for the second and the third order explicit total variation diminishing Runge-Kutta method. A discontinuous Galerkin method with Lagrange multiplier (DGLM) has been developed in [6,7] for nonlinear conservation laws with backward Euler method for time discretization. Lagrange multipliers are introduced on each element so that they are the only globally coupled variables in the resulting system. The final global system of the DGLM has fewer numbers of coupled unknowns than the usual DG methods.
The most finite element methods for conservation law employ purely upwind or general monotone fluxes. In [11], discontinuous Galerkin methods using more general upwind-biased numerical fluxes have been investigated for time-dependent linear conservation laws. Optimal order of convergence rate has been obtained. As pointed out in [11], purely upwind fluxes may be difficult to construct for complex systems.
Weak Galerkin methods refer to general finite element techniques for partial differential equations and were first introduced in [18,19] for second order elliptic equations. Weak Galerkin methods make use of discontinuous piecewise polynomials on finite element partitions with arbitrary shape of polygons and polyhedrons. The weak Galerkin methods have been applied to solve various PDEs such as second order elliptic equations, biharmonic equations, Stokes equations, parabolic equations, second order hyperbolic equations, Maxwell's equations and singularly perturbed convection-diffusion-reaction problems [8,9,10,12,13,14,15,16,17,19,20]. A least-squares based weak Galerkin method is presented for stationary linear hyperbolic equations [21].
The objective of this work is to develop a weak Galerkin finite element method for the time-dependent nonlinear conservation laws (1.1)-(1.2), with the explicit first order Euler method and the third order explicit TVD Runge-Kutta method for time discretization. Similar to [11], this new WG formulation provides a class of finite element methods featuring two built-in parameters λ1 and λ2. By tuning these parameters, different schemes can be obtained for solving the problem (1.1)-(1.2) including purely upwinding scheme. However, unlike the method in [11], our new WG method can be used for the time-dependent nonlinear conservation laws. The stability is derived for the semi-discretized WG method. For the forward Euler time discrete WG method, the L2 error estimate of O(hk+12+τ) is derived in general and convergence rate of O(hk+1+τ) is obtained for some special combination of the parameters. The temporal-spatial CFL condition τ<Ch2 is necessary in the error analysis for the first order forward Euler method. If the third order explicit TVDRK time discrete scheme [3] is used, the L2 error estimate of O(hk+12+τ3) is proved under the CFL condition τ<Ch.
The rest of the paper is organized as follows. In Section 2, a WG finite element is proposed for spatial discretization. The stability is derived for semi-discretized WG method. The forward Euler time discretized WG scheme and its error analysis are presented in Section 3. Error analysis of the WG method with third order explicit TVDRK time discretization can be found in Section 4. Numerical experiments are presented in Section 5 to support the theoretical results. We end the paper with a conclusion.
The usual notation of norms in Sobolev spaces will be used. For any integer s≥0, let Hs(D) represent the well-known Sobolev space equipped with the norm ‖⋅‖s,D, which consists of functions with (distributional) derivatives of order no more than s in L2(Ω). Next, denote by (⋅,⋅)D the scalar inner product on L2(D) and ‖⋅‖D denotes the associated L2 norm. Furthermore, let ‖⋅‖∞,D be the norm on L∞(D). If D=I, we omit this subscript.
2.
Semi-discrete weak Galerkin scheme and its stability
In this section, we introduce a weak Galerkin finite element method for solving the model problem (1.1)-(1.2).
2.1. Semi-discrete WG scheme
Let Th=∪Ni=1Ii with Ii=[xi−12,xi+12] for 1≤i≤N where
Define
The weak Galerkin methods introduce a new way to define a function v, called weak function, which allows v taking different forms in the interior and on the boundary of the element:
where Ii0 is the interior of Ii, where Ii is an element in Th. Since a weak function v is formed by two parts v0 and vb, we write v as v={v0,vb} in short without confusion.
Denote by Pk(Ii) the set of polynomials on Ii with degree no more than k. Let Vh be a weak Galerkin finite element space consisting of weak function v={v0,vb} defined as follows for k≥1,
Denote by v(x−i+12) and v(x+i+12) the values of v at xi+12 from the left element Ii and the right element Ii+1, respectively. Further, the jump of v at xi+12 is denoted as [[v]]i+12=v(x+i+12)−v(x−i+12).
For v,w∈Vh, we introduce some notations,
For any v={v0,vb}∈Vh, a weak derivative Dwf(v)∈Pk(Ii) for i=1,⋯,N satisfies
where n=−1 at xi−12 and n=1 at xi+12. Here Dw means the first order derivative of w, i.e. Dw=w′.
Then we introduce a stabilizer in Vh as follows:
where ∂+Ii=xi+12, ∂−Ii=xi−12, and λ1 and λ2 are two parameters. Here v0(xi+12) and w0(xi+12) are the left limit of v0(x) and w0(x) at xi+12 respectively, and v0(xi−12) and w0(xi−12) are the right limit of v0(x) and w0(x) at xi−12 respectively.
The following is the semi-discretized weak Galerkin method.
Algorithm 1 (SD-WG method). A numerical approximation for (1.1)-(1.2) can be obtained by seeking uh(t)={u0(t),ub(t)}∈Vh satisfying uh(0)=Q0ϕ and the following equation,
where Q0 is the L2 projection onto Pk(Ii) on each element Ii.
Let Ii and Ii+1 be the two intervals sharing xi+12. Define the average {{v}} on xi+12 by
and
Please note that the definition of average {{⋅}} above is different from the standard definition of average which is when λ1=λ2.
Testing (2.4) by v={v0,vb} such that v0=0 and vb=1 at xi+12 and vb=0 otherwise, we can easily obtain that at xi+12
Remark 1 (Relation to the upwinding-type DG method). If f′(u)>0 and taking λ2=0, then ub=u−0 and sh(uh,vh)=0. Thus, the WG scheme (2.4) reduces to
which is the classical upwinding type discontinuous Galerkin method for nonlinear conservation law.
Remark 2 (Relation to the upwinding-biased DG method). Considering a special case f(u)=u. Taking λ1=λ2=λ in (2.3), and denote by
then the WG scheme (2.4) reduces to
which is the upwinding-biased DG method discussed in [11].
2.2. Stability of the semi-discrete WG scheme
In this subsection, we will study the stability of the semi-discrete WG scheme (2.4).
Lemma 2.1. Let α2≤f′(s)≤α1. If λ1>α1/2 and λ2>−α2/2, then
for v={v0,vb}∈Vh, there holds
Proof. As [5], we introduce g′(s)=f(s), then
Since f(vb) and vb take single value on ∂Ii, the periodic boundary condition implies
Using the definition of the weak derivative (2.2), the mean value theory and the periodic boundary condition that
which implies
and
where α=max{|α1|,|α2|}. The equation (2.8) gives
We complete the proof.
Define ‖v‖2=∫Iv2dx. Then we have the following stability result.
Lemma 2.2 (Stability of the SD-WG method). Let uh={u0,ub}∈Vh be the solution of the semi-discrete WG scheme (2.4), then
Proof. Let v=uh in the semi-discrete WG scheme (2.4). From (2.6), we have
Integrating the above inequality with respect to time between 0 and T completes the proof.
3.
Forward Euler WG method and its error analysis
We use forward Euler method for time discretization to obtain a full discrete WG finite element method.
3.1. Forward Euler time discrete WG scheme
Let τ be a time step and tn=nτ.
Algorithm 2 (FE-WG method). Find un+1h={un+10,un+1b}∈Vh satisfying u0h={Q0ϕ,{{Q0ϕ}}} and
Testing (3.1) by v={v0,vb} such that v0=0 and vb=1 at xi+12 and vb=0 otherwise, we can easily obtain that at xi+12
We define a projection operator Qhu={Q0u,Qbu}∈Vh, where Q0 is the L2 projection onto Pk(Ii) on each element Ii and Qbu={{Q0u}} on ∂Ii.
Define
and
Lemma 3.1. The error function enh defined in (3.3) satisfies the following equation,
Proof. Testing (1.1) by v0 of v={v0,vb}∈Vh we arrive at
The definition of Dw implies,
It follows from the definition of Q0 and the above equation,
Adding τsh(Qhu(tn),v) to the both sides of the above equation implies
The difference of (3.1) and the equation above yields
Using the fact 2p(p−q)=p2+(p−q)2−q2 and letting v=en+1h, (3.6) becomes
We have proved the lemma.
3.2. Error analysis of forward Euler WG method
In this subsection we carry out an a priori error estimate for the fully discrete WG scheme with forward Euler time marching for smooth solutions. We will assume the nonlinear flux function f(u) is smooth enough for simplicity.
For any function φ∈H1(Ii), the following trace inequality holds true,
Lemma 3.2. Let ρnh and enh be defined in (3.4) and (3.3) respectively. Then we have
Proof. The first estimate in (3.8) is a direct result of the approximation property of the L2 projection Q0. The second estimate in (3.8) follows from the trace inequality (3.7) and the definitions of ρnb and Qh,
Similarly, we can prove (3.9).
Lemma 3.3. Let τ≤ch2. Then we have
Proof. It follows from (3.7), the Cauchy-Schwarz inequality and the definition of Qb that
Using the assumption τ≤ch2, we have
which proves (3.10).
It follows from the Cauchy-Schwarz inequality that
Using (3.7), Cauchy-Schwarz inequality, Lemma 3.2 and the assumption τ≤ch2, we have
We have proved the lemma.
Lemma 3.4. For τ≤ch2 and λ1,λ2≥α. Then we have
Proof. It follows from definition of the weak derivative Dw and the Taylor theory,
Next, we will bound all the terms above. Define ¯f′(u)=1|Ii|∫Iif′(u)dx. Using the definitions of ρn0 and Q0, (3.8) and the inverse inequality, we arrive
It follows from the fact ⟨f′(u(tn))ρnb,enbn⟩∂Th=0, (3.7) and the inverse inequality,
Using the inverse inequality, the trace inequality (3.7), (3.9) and (2.9), we obtain
As [22,23], we adopt the following a priori assumption to deal with the nonlinearity of the flux f(u)
And the justification of such assumption will be given in Remark 3. Then the above estimate with (3.2) gives
Using (3.8), (3.15) and the inverse inequality, we have
Combining all the estimates above gives
which proves the lemma.
Theorem 3.5. Let un+1h∈Vh be the WG finite element solution of the problem (1.1)-(1.2) arising from (3.1). Then there exists a constant C such that
Proof. It follows from (3.5) that
Then using Lemma 3.3 and Lemma 3.4, we have
Letting ϵ1 and ϵ2 small enough gives
Summing the above equation over n+1, we have
The discrete Gronwall's inequality implies
which proves the theorem.
Remark 3. The assumption (3.14) is obviously satisfied for n=0 since u00=Q0ϕ. If (3.14) holds for a certain n, then it follows from the conclusion of Theorem 3.5 and τ≤ch2 that
for k≥1. Thus the given a priori (3.14) is verified.
The result in the following theorem is a special case of Theorem 3.5. We omit the proof of the theorem since it is similar to the proof of Theorem 3.5.
Theorem 3.6. Let un+1h∈Vh be the WG finite element solution of the problem (1.1)-(1.2) arising from (3.1). Assume f′(u)>0 (or f′(u)<0) and let λ2=0 (or λ1=0). Then there exists a constant C such that
4.
TVDRK3 WG method and its error analysis
This section discusses the fully discrete WG method coupled with the explicit TVDRK3 time-marching.
First, we set the initial value u0h={Q0ϕ,{{Q0ϕ}}}. Then for each n≥0, the approximate solution from the time nτ to the next time (n+1)τ is defined as follows:
Algorithm 3 (RK3-WG method). Find un,1h={un,10,un,1b},un,2h={un,20,un,2b} and un+1h={un+10,un+1b} in the finite element space Vh such that, for any v∈Vh
Similar as (3.2), we obtain the time update for ub as
Following [22], two reference functions are defined in parallel to the TVDRK3 time discretization stages for the exact solution of the conservation law (1.1). Let u(0)(x,t)=u(x,t) and
Lemma 4.1 ([23]). If ‖utttt‖ is bounded uniformly for any t∈[0,T], we have
where E(x,t) is the local truncation error in time and ‖E(x,t)‖=O(τ4) uniformly for any time t∈[0,T].
Denote un,i=u(i)(x,tn) for any time level n and i=0,1,2. The error at each stage is denote by
for any n and inner state i=0,1,2, where un,0h=unh.
Lemma 4.2 (Error equation). For any v∈Vh, the error functions en,1h,en,2h and en+1h satisfy the following equations
where
Proof. Let t=tn and test (4.5) by v0 of v={v0,vb} in Vh, we arrive at
The definition of Dw implies
It follows from the definition of Q0 and the above equation that
The difference of (4.1) and the equation above yields (4.8).
The error equations (4.9) and (4.10) can be obtained similarly. The details are therefore omitted.
4.1. Some basic estimates
For any uh={u0,ub} and vh={v0,vb} in Vh, it follows from the definition of weak derivative Dw that
where
Since Rb(u,u0) and f′(u)(u−ub) take single value on ∂Ii, the periodic boundary condition implies
Therefore, the operator H(u,uh;vh) defined in (4.11) can be rewritten as
for uh,vh∈Vh, where
Lemma 4.3. For any continuous and differentiable function Z, there exists a positive constant C, independent of n,h,τ, and uh, such that
where ε is any positive constant, and |Z|[[v]]2=∑Nj=1|Zj+1/2|[[v]]2j+1/2.
Proof. For the proof of (4.13), it follows from Cauchy-Schwartz inequality and the inverse inequality that
A simple manipulation indicates that
which implies the second conclusion (4.14).
Let ¯Zj=1|Ij|∫IjZdx. It follows from Cauchy-Schwartz inequality and Young's inequality that
The proof is completed.
Lemma 4.4. Let u∈Hk+1(I) be the exact solution of (1.1). For any uh={u0,{{u0}}},vh={v0,{{v0}}}∈Vh, there holds
Proof. By Taylor expansion up to the second order derivative term, we obtain
where f″(ξ1) and f″(ξ2) are the second order derivative of f in the two expansion, which are both bounded.
Thus, by the triangle inequality and the inverse inequality, we have
which together with Young's inequality completes the proof.
Lemma 4.5. Let u∈Hk+1(I) be the exact solution of (1.1). For any uh={u0,{{u0}}},vh={v0,{{v0}}}∈Vh, there { hold}
where ε is any positive constant, [[e0]]2:=∑Nj=1[[e0]]2j+12, and ϑ=λ1λ2λ1+λ2.
Proof. Since u is continuous function, there holds [[u]]=0. It follows from (2.3) and (4.4) that
Hence, by the triangle inequality and the inverse inequality, we have
which completed the proof of (4.16).
From (4.18) and Young's inequality, we have
The proof is completed.
Lemma 4.6. If the time step satisfies τ=O(h), then we have
where C is a positive constant independent of n,h,τ and uh.
Proof. Taking v=en,1h in the error equation (4.8), we get
Firstly, we consider the first term of H(un,unh;en,1h). It follows from the definition of the weak derivative Dw that
From Cauchy-Schwarz inequality, the inverse inequality and the approximation property of Q0, we have
where the assumption f′(u) is bounded has been used in the second inequality above.
Now we turn to the term T2. Since periodic boundary condition is considered, T2 can be rewritten as
Then, by the triangle inequality and the inverse inequality, we obtain
Collecting (4.22), (4.23) and (4.24), we can conclude
which together with the inequality (4.16) of Lemma 4.5 and (4.21) yields
Cancelling ‖en,10‖ on both sides of the above equation, and noting that τ=O(h), we have
which implies (4.19).
In a similar way, we can obtain the conclusion (4.20). The proof is completed.
By taking the test function v=enh,4en,1h, and 6en,2h in the error equations (4.8), (4.9) and (4.10), respectively, we obtain the energy equation for enh in the form
where
4.2. The estimate for Ξ1
It follows from (4.14) and (4.15) of Lemma 4.3 that
Denote by B=maxs∈R|f′(s)|. In the above inequality, taking ε small enough such that εB≤0.1ϑ, then we have
From Lemma 4.4, we have
Using (4.17) of Lemma 4.5 with ε=0.1, we have
Denote by
where C is a general positive constant independent of h,τ,u and uh. Collecting (4.26), (4.27) and (4.28), we obtain
Similarly, we have
for i=1,2.
Since E=O(τ4), by Cauchy-Schwartz inequality, we have
Collecting the three above estimates, we obtain the estimate of Ξ1 as follows
4.3. The estimate for Ξ2
Following [23], we introduce the following notations
Obviously,
From the above equalities and the error equations (4.8)-(4.10), we easily obtain the following results.
Lemma 4.7. For the fully discrete WG method (4.1)-(4.3) with the explicit TVDRK3 time marching, we have the following equations
for any vh={v0,vb}∈Vh.
Note that en+10−en0=En0+Fn0+Gn0, there holds
Let vh=Fnh in (4.31) and vh=Enh in (4.32), and by (4.12), we have
where
Lemma 4.8 (Estimate of M1). If the time step satisfies τ=O(h), then we have
Proof. Since un,i−un,ih=ρn,ih+en,ih(i=0,1,2), then M1 can be rewritten as
where
for w=ρh or eh.
Denote by
and collecting the terms with the same speed f′(un), the operator L(w) can be expressed as
Now we estimate Li(eh),i=1,⋯,5 firstly. Due to periodic boundary condition, and using integration by parts, we have
Consequently, by Cauchy-Schwartz inequality, we can conclude that
Since |zn,1|=O(τ)=O(h), it follows from the equation (4.13) of Lemma 4.3 that
In a similar way, we obtain
Collecting the estimate of Li(eh),i=1,⋯,5 and using Cauchy-Schwarz inequality yields
Next, we turn to the term Li(ρh),i=1,⋯,5. Note that f′(u) is bounded, it follows from the Cauchy-Schwartz inequality and inverse equality that
Since
it follows from the approximation property of L2 projector Q0 that
which together with (4.37) yields
Similarly we can estimate the second term as |L2(ρh)|≤C(‖En0‖2+h2kτ2).
Using |zn,i|=O(τ)=O(h) and similar as the proof of L1(ρh), it is easy to obtain
Since τ=O(h), finally we have
By the triangle inequality, we have
which together with (4.36) and (4.38) completes the proof.
Lemma 4.9 (Estimate of M2). There exists a positive constant C, independent of n,h,τ, and uh, such that
Proof. It follows from Lemma 4.4 that
for wh∈Vh and i=0,1,2.
Let wh=Enh and Fnh in the above inequality, respectively. By the triangle inequality and the definition of M2, we have
which completes the proof.
Lemma 4.10 (Estimate of M3). There exists a positive constant C, independent of n,h,τ, and uh, such that
Proof. Using (4.17) of Lemma 4.5 with ε=0.1, we have
Combining the above two estimates completes the proof.
Since E=O(τ4), by Cauchy-Schwartz inequality, we have
which together with (4.34) and Lemma 4.8, 4.9 and 4.10 yields
Now we consider the upper bound of J3 and J4. Since J3=3(Gn0,Fn0) and J4=3(Gn0,Gn0), we estimate 3(Gn0,v0) in general. From (4.12) and (4.32), we have
where
Denote by
and collecting the terms with the same speed f′(un), we rewrite the operator I1(v0) as
It follows from (4.13) of Lemma 4.3, Cauchy-Schwartz inequality and |zn,i|=O(τ)=O(h) that
Note that f′(u) is bounded, it follows from the Cauchy-Schwartz inequality and inverse equality that
Since
and
by the approximation property of L2 projector Q0, we have
Plugging (4.45) into (4.44), and using 2ab≤a2+b2, we get
Similar to the proof of (4.44), and note that |zn,i|=O(τ), we have
Combining (4.41), (4.42), (4.43), (4.46) and (4.47), and assume τ=O(h), we have
Thanks to Lemma 4.4, we have
It follows from (4.18) and Young's inequality that
which together with (4.45) and inverse inequality yields
Using the fact E=O(τ4) and Cauchy-Schwartz inequality, we get
which combining with (4.48), (4.49), (4.50) and (4.40) yields
Taking v0=Fn0 in (4.51) and using the assumption τ≤γh, we have
Taking v0=Gn0 in (4.51), we have
then
Therefore,
which combining with (4.52) yields
In the above inequality, taking τ small enough such that Cγ=1/4, then we get
which together with (4.39) and (4.33) yields
4.4. Main results
In this subsection, we will give the L2 norm error estimate between the exact solution u(tn) and the WG solution un0.
Theorem 4.11. Let uh be the numerical solution of the fully discrete WG scheme (4.1)-(4.4) with the explicit TVDRK3 time marching. Let u be the exact solution of problem (1.1)-(1.2), where f(u) is smooth enough. If u and its spatial derivatives up to the second order are all continuous in I=(0,1), and ‖u‖k+1, ‖ut‖k+1, ‖utt‖k+1 and ‖uttt‖k+1 are bounded uniformly for any time t∈(0,T], then the following error estimate holds
under the condition τ≤γh with a fixed constant γ>0. Here C is a positive constant independent of h,τ and uh.
Proof. Denote by
then from (4.25), (4.29) and (4.53), we obtain
As [22,23], we adopt the following a priori assumption for m(mτ<T) to deal with the nonlinearity of the flux f(u)
The justification of such assumption will be given later.
It follows from the assumption (4.56) and the approximation property of L2 operator Q0
implies that
Therefore, we have
which together with (4.55), (4.19) and (4.20) yields
where C is a positive constant independent of m, n, h and τ. Then an application of the discrete Gronwall inequality yields
which together with
yields that
Now we turn to verify the reasonableness of the a priori assumption (4.56). Since e00=0, by (4.19) and (4.20), we easily obtain
for i=0,1,2 and k≥1. Supposing (4.56) holds for m, we can show that this assumption is also true for m+1. Inequality (4.57) as well as (4.19) and (4.20) imply that
for k≥1 and i=1,2. Thus the assumption (4.56) is reasonable, and hence the above error estimate holds for any m(mτ<T). The proof is completed.
5.
Numerical examples
In this section, we present the numerical examples to verify our theoretical findings. In our numerical experiments, we shall use piecewise uniform meshes which are constructed by equally dividing spatial domain into N subintervals. The main purpose of this paper is to investigate how to use WG method to discretize spacial variables in conservation law. In order to reduce the time errors, we use the third order explicit TVDRK time discrete scheme in time, and take time step τ=CFL⋅h, where CFL is a constant independent of the mesh size h. WG scheme with Pk(k=1,2,3) element is used for spatial discretization.
Example 1 (A smooth solution of a linear equation). We solve the following linear problem (1.1) with periodic boundary condition,
The exact solution to this problem is
Let time step size τ=0.05h in this example. WG scheme with Pk(k=1,2,3) element is used for spatial discretization. The L2 errors and the order of convergence, at T=2π, are reported in Table 1. It is observed that the order of convergence of the L2 error achieves (k+1)-th order of accuracy.
Example 2 (A blow-up solution of a nonlinear equation). We solve the following nonlinear problem (1.1) with periodic boundary condition,
with initial value function
The exact solution u(x,t) is obtained by solving characteristic relation u=ϕ(x−u⋅t), which is smooth up to t=1/π. Please find more details in [4].
Let time step size τ=0.1h in this example. In Table 2 we present the results at T=0.2 when the solution is still smooth. Observe that there is at least (k+1/2)-th order of convergence rate in L2 norm. ub of WG solution uh={u0,ub} at T=1/π is plotted in Figure 1, where P2 element is used.
Example 3 (A discontinuous solution of a linear equation). We solve the following linear equation (1.1) with periodic boundary condition,
with initial value function
The exact solution is u(x,t)=ϕ(x−t).
In this problem the exact solution is non-smooth. It aims to show our WG method is also stable and efficient to the problems with non-smooth solutions. Let time step size τ=0.1h in this example. The errors and the order of convergence are reported in Table 3. Observe that the method is stable. The WG solution using P1 element with (λ1,λ2)=(1.2,0.1) and the DG solution with P1 element are plotted in Figure 2 (a) and (b) respectively.
6.
Conclusion
A weak Galerkin finite element method is proposed for nonlinear conservation laws. This method provides a class of finite element schemes by tuning the built-in parameters including purely upwind scheme. This makes the WG method highly flexible. Compared with the DG method [11], the present method can be applied for solving nonlinear conservation laws. Error estimations are given. The convenience of the proposed method is validated by the numerical examples.