dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #02547
Re: non linear viscosity
On Fri, May 12, 2006 at 11:51:16AM +0000, Alexander Jarosch wrote:
> Hello everybody,
>
> I try to do a non linear viscous Stokes problem and I use this ffc form :
>
> elementE = FiniteElement("Vector Lagrange", "triangle", 1, 3)
> elementU = FiniteElement("Vector Lagrange", "triangle", 1)
>
>
> v = TestFunction(elementE) # test function
> e = TrialFunction(elementE) # strain (to be computed)
> u = Function(elementU) # displacement
>
> def normal_strain(u): # eps_xx eps_yy eps_xy
> return [u[0].dx(0), u[1].dx(1), 0.5*(u[0].dx(1) + u[1].dx(0))]
>
> a = dot(v, e)*dx
> L = dot(v, normal_strain(u))*dx
>
> to get my strain rates from the velocity field coming out of the stokes
> problem. Than use these strain rates to calculate new viscosities and
> iterate the stokes problem until I converge to a non linear fluid. But
> somehow the approach is not stable and the strain rates seems to go
> wrong already after the initial stokes solution.
>
> Did anybody try something similar and maybe can give me some tips on how
> to do a better approach?
>
> Thanks for any suggestions,
>
> Alex
There is a demo in src/demo/pde/elasticity/ for post-processing of
strain rates which computes both the normal and the shear strains.
Maybe you could compare with that demo to find out what goes wrong?
Your variational problem looks ok and should compute the projection of
[u[0].dx(0), u[1].dx(1), 0.5*(u[0].dx(1) + u[1].dx(0))].
Another thing you could experiment with is to project onto
discontinuous Lagrange. I think I remember I got unexpected results
when I experimented with something similar a while ago and projected
onto linears.
/Anders
Follow ups
References