dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #23004
[Question #156163]: Depth-averaged Stokes flow vector formulation
New question #156163 on DOLFIN:
https://answers.launchpad.net/dolfin/+question/156163
Hi all,
I'm attempting to implement a depth averaged ice-sheet flow model in dolfin. I'm starting with something called the shallow-shelf approximation, which is, in essence, a depth averaged version of Stokes' flow (with a non-linear viscosity). I very much like the interface of FEniCs because of the dimensionally independent problem definition notation, and I would like to define my model using the VectorFunctionSpace construct.
My problem is that in the depth averaged equations, I end up needing a tensor like this :
[ 2ux + vy , uy+vx ]
[ uy + vx , 2vy+ux ]
where u and v are velocities (the solution) and ux, uy, vx, and vy are their spatial derivatives. This tensor can be broken into two parts:
[ 2ux , uy+vx ] + [vy, 0 ]
[ uy + vx , 2vy] [ 0, ux]
The first component is just the 2D strain rate tensor that you get with sym(grad(u)), if u is a trial function over a VectorFunctionSpace. My question is how to achieve the second part, or more generally, how can I construct the necessary tensor (the first one that I wrote), while maintaining VectorFunctionSpace type notation?
Presumably, I could write the model using two separate scalar variables u and v, and invoking the spatial derivative and as_tensor operator a whole bunch of times ... but that's not nearly as pleasant, so I would be grateful for any assistance.
Also, if anyone has any demos of depth-averaged fluid flow (e.g. shallow water equations) that you wouldn't mind sharing, I would appreciate taking a look. Preferably in Python.
Cheers.
--
You received this question notification because you are a member of
DOLFIN Team, which is an answer contact for DOLFIN.
Follow ups