Hi Katie,

Thank you for the info. When I tried "VectorTools::interpolate" instead of
"VectorTools::project", the interpolation of the initial condition is
indeed much better. But somehow I found that the resulting solutions do not
match that of the analytical one... By the way, my test problem is the heat
equation $u_{t} = \kappa (u_{xx} + u_{yy})$ on the domain $[0,30]^{2}$,
where the initial solution at $t=0$ is 1000 in $[20,21]x[20,20.05]$, and
30*y elsewhere. The boundary condition is $u_y = 30$, $u_{x} = 0$. 

If I used the "project" function and refine the initial mesh sufficiently
to reduce any numerical spikes, the solution matches the analytical one (up
to first 10,000 terms) to within 1 percent of error. But if I used the
"interpolate" function, there is possibly overshoots of the solution at
t>0, depending on the initial refinement. Also, the solution won't match
that of the analytical one since the analytical solution (an infinite
series) itself does not satisfy the initial condition for some parts in the
domain... 

Sincerely,
Soon Hoe


On Mon, 9 Jul 2012 14:50:12 +0000, Katie Leonard
<[email protected]> wrote:
> Hi Soon,
> 
> Try VectorTools:interpolate - I found that when I was applying
> discontinuous initial conditions this implemented them better than the
> "project" function.
> 
> Thanks,
> 
> Katie
> 
> Katie Leonard
> 
> DPhil student in Computational Biology,
> The University of Oxford.
> ________________________________________
> From: [email protected] [[email protected]] on behalf of
> Soon Hoe Lim [[email protected]]
> Sent: 23 June 2012 13:52
> To: [email protected]
> Subject: [deal.II] VectorTools::project for discontinuous initial
condition
> 
> Hi all. For solving time dependent problems, at t=0 we need to project
the
> initial conditions into the finite element space. But when we have a
> discontinuos initial condition, say u(x,y,0)=1200 on [0.4,0.6]x[0.4,0.6],
> u(x,y,0)=0 elsewhere, where the domain is [0,1]x[0,1], I observed that
the
> VectorTools::project function tries to smooth the discontinuity at t=0.
> This causes the solution to violate the initial condition because say at
> (0.4, 0.4) the solution at t=0 is no longer 1200 as desired but some
> smaller value. In this case, how should I deal with the initial
condition?
> Thank you for any help.
> 
> Sincerely,
> Soon Hoe
> _______________________________________________
> dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

-- 
Regards,
Soon Hoe Lim
University of Michigan, Ann Arbor
[email protected]
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to