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.

_______________________________________________
Mailing list: https://launchpad.net/~dolfin
Post to     : dolfin@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dolfin
More help   : https://help.launchpad.net/ListHelp

Reply via email to