Hi Francis, The model is described in this paper: https://arxiv.org/abs/1410.8311 all the best --cjc On 27 June 2016 at 14:45, Francis Poulin <fpoulin@uwaterloo.ca> wrote:
Hello Colin,
I would be curious to hear more about the stochastic QG model. Should I ask Ali about this?
Cheers, Francis
------------------ Francis Poulin Associate Professor Department of Applied Mathematics University of Waterloo
email: fpoulin@uwaterloo.ca Web: https://uwaterloo.ca/poulin-research-group/ Telephone: +1 519 888 4567 x32637
------------------------------ *From:* firedrake-bounces@imperial.ac.uk [firedrake-bounces@imperial.ac.uk] on behalf of Colin Cotter [colin.cotter@imperial.ac.uk] *Sent:* Monday, June 27, 2016 2:12 AM *To:* firedrake *Subject:* Re: [firedrake] Stochastic differential equations
Hi!
Yes, you can just use the numpy random number generator to write to the basis coefficients for this.
from numpy import random
F = Function(V) F.dat.data[:] = random.randn(N)
etc.
The main thing you have to be careful of is MPI parallelism.
We have been using this to implement a stochastic QG equation for example.
It might be nice to integrate random number generators into TSFL generated code so that we can use them directly in UFL expressions - that would tidy up a lot of our code (and help make it more parallel safe).
cheers --cjc
On 26 June 2016 at 21:27, Angwenyi David <kipkoej@gmail.com> wrote:
Thanks, Francis.
True, the DE is driven by white noise, that is, I assume it is gaussian with zero mean vector and identity covariance matrix premultiplied by the square root of the time-step.
On 26 Jun 2016, at 22:16, Francis Poulin <fpoulin@uwaterloo.ca> wrote:
Hello,
I can't say whether there is anything specific to firedrake but I can say that in general it depends on what kind of noise you are considering in the SDE.
If you are using coloured noise, then you treat your forcing term as you would any other term. However, given the fact that you are using W I imagine you are using White noise.
In that case the popular thing to do is to use a splitting method. For the "regular" deterministic terms, you use whatever time stepping scheme you normally would use. However, for the white noise you probably want to use an Euler step. Basically, that means you have square root of dt in front of the random variable. The stochastic part is only first order accurate but it's much easier than using other techniques, but they do exist.
Anyhow, that's my two cents worth.
Francis
------------------ Francis Poulin Associate Professor Department of Applied Mathematics University of Waterloo
email: fpoulin@uwaterloo.ca Web: https://uwaterloo.ca/poulin-research-group/ Telephone: +1 519 888 4567 x32637
------------------------------ *From:* firedrake-bounces@imperial.ac.uk [ firedrake-bounces@imperial.ac.uk] on behalf of Angwenyi David [ kipkoej@gmail.com] *Sent:* Sunday, June 26, 2016 4:11 PM *To:* firedrake@imperial.ac.uk *Subject:* [firedrake] Stochastic differential equations
Dear all,
Is it possible to solve pdes driven by some noise using Firedrake? For example, see equation 3.2 in the attachment whose discretisation yields a system 3.3 and 3.4, where dW(t):=sqrt(dt)N(0,Identity). My other related concern is whether It is possible to implement, say, A Kalman filter with equation 3.2 as model equation on Firedrake.
Thanks in advance.
Angwenyi David <Screen Shot 2016-06-26 at 21.51.52.png> _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake
-- http://www.imperial.ac.uk/people/colin.cotter
www.cambridge.org/9781107663916
-- http://www.imperial.ac.uk/people/colin.cotter www.cambridge.org/9781107663916