Help on using sfepy for a PDE
Hi all, I need to solve the following evolution equation:
Ut = Uxx + ( 1 / ( 1 + ( abs(U) )^2 ) ) U
with an initial gaussian profile. There is an example that I can study and then modify for this equation?
Thanks Saverio
Hi Saverio,
On 04/07/2013 09:25 AM, sv...@tiscali.it wrote:
Hi all, I need to solve the following evolution equation:
Ut = Uxx + ( 1 / ( 1 + ( abs(U) )^2 ) ) U
with an initial gaussian profile.
It is some kind of reaction-diffusion?
There is an example that I can study and then modify for this equation?
A linear version of this equation is in [1]. Concerning the nonlinear term, which is not readily available, there are two options:
- use dw_volume_dot term with an ad-hoc linearization - the ( 1 / ( 1 + ( abs(U) )^2 ) ) would be taken from a previous time step as a nonlinear material coefficient, see [2];
- implement it properly as a nonlinear term.
I guess for the beginning the option 1. is easier. It might also be made reasonably accurate by using a sufficiently small time step and/or some sub-iteration. As for the time stepping - it is possible to adapt the time step using a user-defined function - see [3].
Does it help? r.
[1] http://sfepy.org/doc-devel/examples/diffusion/time_poisson.html [2] http://sfepy.org/doc-devel/examples/diffusion/poisson_field_dependent_materi... [3] http://sfepy.org/doc-devel/examples/linear_elasticity/linear_elastic_damping...
Il giorno domenica 7 aprile 2013 18:33:49 UTC+2, Robert Cimrman ha scritto:
Hi Saverio,
On 04/07/2013 09:25 AM, sv...@tiscali.it javascript: wrote:
Hi all, I need to solve the following evolution equation:
Ut = Uxx + ( 1 / ( 1 + ( abs(U) )^2 ) ) U
with an initial gaussian profile.
It is some kind of reaction-diffusion?
There is an example that I can study and then modify for this equation?
A linear version of this equation is in [1]. Concerning the nonlinear term, which is not readily available, there are two options:
- use dw_volume_dot term with an ad-hoc linearization - the ( 1 / ( 1 + ( abs(U) )^2 ) ) would be taken from a previous time step as a nonlinear material coefficient, see [2];
- implement it properly as a nonlinear term.
I guess for the beginning the option 1. is easier. It might also be made reasonably accurate by using a sufficiently small time step and/or some sub-iteration. As for the time stepping - it is possible to adapt the time step using a user-defined function - see [3].
Does it help? r.
[1] http://sfepy.org/doc-devel/examples/diffusion/time_poisson.html [2]
http://sfepy.org/doc-devel/examples/diffusion/poisson_field_dependent_materi... [3]
http://sfepy.org/doc-devel/examples/linear_elasticity/linear_elastic_damping...
Thanks for the help. I will study the three references. I need this equation as an evolution model.
Yours sincerely,
Saverio
participants (2)
-
Robert Cimrman
-
sv...@tiscali.it