simultaneous conservation of angular and linear momenta
I presently have written a code that evolves Euler's equations with Newtonian self-gravity on an Eulerian Cartesian grid. I use the Kurganov-Tadmor central difference scheme for the advection.
I would like to be able to numerically conserve both linear and angular momenta. Does anyone know of any way to do this? I have figured out the fundamental reason the K-T method does not conserve angular momentum when advecting linear momenta - it does not preserve the symmetry of the stress tensor. But I can't figure out how to alter the scheme to account for this effect.
Hello Peter Parker,
one way to help conserve angular momentum is to actually solve the equations for the momenta, so instead of solving for the "primitive" variables, you solve for the momenta:
U = rho*vx
V = rho*vy
W = rho*vz
where rho=density and the (vx,vy,vz) is the velocity in cartesian coordinates.
A way to help conserve angular momentum is (here too) to solve for the angular momentum, so assuming for example that you have some kind of rotating flow, you used cylindrical (or spherical) coordinates and write
U = rho*vr
U = rho*vf
W = rho*vz
where the cylindrical coordinates are (r, phi, z) and the velocity
is then given by (vr, vf, vz) respectively.
If you have some rotating flow with "rotating boundaries" (or rotating boundary conditions) you can solve in the rotating frame of reference, so that you actually solve only for the fluctuations of the flow about the speed of rotation.
For that you put in the equation vf ==> dvf + omega x r
where omega is the angular velocity of the rotating system
"x" is the cross product and r is the radial coordinates in the
cylindrical coordinates. So you solve only for dvf, the
difference between vf and omega x r .
You can look in a few books for rotating references frames, Landau Lifshitz Hydrodynamics is one of them, there are more oriented one for self-gravitating rotating (celestial) objects such as the book of Jean-Louis Tassoul (I think it is something like rotating stars or something like that).
I hope this helps.
|All times are GMT -4. The time now is 01:06.|