Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.
Numerical errors
Posted Mar 21, 2011, 7:24 a.m. EDT 4 Replies
Please login with a confirmed email address before reporting spam
Hello,
I start from zero to invistigate the 1D pulse propagation equation as
a*du/dt+du/dx=0
here a is a constant, x, t are the corresponding spatial and time coordinate.
For an input pulse with smooth time derivative,e.g. a Gaussian pulse, my naive numerical impression is that the solusion will be a Gaussian pulse propagating forward without distortion. Physically it could be any format of wave, i.e. fluid, electromagnetic or heat.
In Comsol, I use general form of PDE to represent the equation, using an Gaussin pulse at one boundary side and absorption at another boundary. Attached is my model.
I plot the u in both linear and lorgarithm scale. The leading edge of the pulse is relative smooth except a small bending, but the trailing edge has significant oscillation. The oscillation can be suppressed by decrease the tolerance, e.g. from 1e-3 to 1e-6 or even lower. However, the oscillation is still there as the computation time increases significantly.
I'm not fully understanding the numerical aspect of the solver in terms of error control. In terms of error control,
Are there other efficient ways to supress such oscillations? For example, some more general boundary conditions including time-derivative.
I start from zero to invistigate the 1D pulse propagation equation as
a*du/dt+du/dx=0
here a is a constant, x, t are the corresponding spatial and time coordinate.
For an input pulse with smooth time derivative,e.g. a Gaussian pulse, my naive numerical impression is that the solusion will be a Gaussian pulse propagating forward without distortion. Physically it could be any format of wave, i.e. fluid, electromagnetic or heat.
In Comsol, I use general form of PDE to represent the equation, using an Gaussin pulse at one boundary side and absorption at another boundary. Attached is my model.
I plot the u in both linear and lorgarithm scale. The leading edge of the pulse is relative smooth except a small bending, but the trailing edge has significant oscillation. The oscillation can be suppressed by decrease the tolerance, e.g. from 1e-3 to 1e-6 or even lower. However, the oscillation is still there as the computation time increases significantly.
I'm not fully understanding the numerical aspect of the solver in terms of error control. In terms of error control,
Are there other efficient ways to supress such oscillations? For example, some more general boundary conditions including time-derivative.
Attachments:
4 Replies Last Post Mar 21, 2011, 4:32 p.m. EDT