How to transform a nonlinear velocity field to a new frame of reference?

조회 수: 1 (최근 30일)
Mirlan Karimov
Mirlan Karimov 2020년 5월 12일
편집: Mirlan Karimov 2020년 5월 12일
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개)

카테고리

Help CenterFile Exchange에서 Fluid Dynamics에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by