How to transform a nonlinear velocity field to a new frame of reference?
1 view (last 30 days)
Show older comments
Example:
Velocity Field:
v =
- x*sin(C*t) - y*(w/2 - cos(C*t))
y*sin(C*t) + x*(w/2 + cos(C*t))
0
The linear velocity field can be written as:
X = [x,y,z];
A = [-sin(C*t), cos(C*t) - w/2,0; cos(C*t) + w/2 , sin(C*t),0;0,0,0;];
v = A*transpose(X);
Transformation (Observer change): where
Q = [cos(C/2*t),sin(C/2*t),0;-sin(C/2*t),cos(C/2*t),0;0,0,1];
Based on continuum mechanics, velocity field transforms as . Applying this formula as:
vy = diff(Q,t,1)*transpose(X) + Q*v;
I do not get the correct answer. I believe that is because v and are still in the old frame. If I change them to the new frame it works. The procedure I used is as follows:
If is also linear, then it can be written as:
Then B is computed as:
Qtr = transpose(Q); assume(Qtr,'real')';
Q*(A*Qtr - diff(Qtr,t,1))
and it works. However, now the problem is that, I can not define A and B for nonlinear velocity fields, for numerical velocity fields not possible at all, so what do I do? How do I transform a velocity field with a given observer change?
0 Comments
Answers (0)
See Also
Categories
Find more on Fluid Dynamics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!