How to find nondimensionalize form with MATLAB?

조회 수: 8 (최근 30일)
Mehrdad Nasirshoaibi
Mehrdad Nasirshoaibi 2023년 3월 1일
댓글: Mehrdad Nasirshoaibi 2023년 4월 2일
Hi all,
I am looking for a code that could give me the nondimensional form of the follwoing equation:
(rho*h)*diff(w,t,t) - h*(sigma_x*diff(w,x,x) + sigma_y*diff(w,y,y)) - (E*h/(2*(1-mu^2)))*((diff(w,x))^2*diff(w,x,x) + (diff(w,y))^2*diff(w,y,y)) - (E*h*mu/(2*(1-mu^2)))*((diff(w,x))^2*diff(w,y,y) + (diff(w,y))^2*diff(w,x,x)) - (E*h/(1+mu))*diff(w,x)*diff(w,y)*diff(w,x,y) == p;
Here is also the other form of the equation:
Thank you all in advance.
  댓글 수: 2
John D'Errico
John D'Errico 2023년 3월 1일
There would potentially be multiple non-dimensional forms for a complex problem. Typically that requires knowledge about the problem, and information about the units of the various variables. A computer will not automatically know that x might most likely have units of length, for example. Computers will not know that t likely has units of time. A computer code will not know what E, h, and rho are. So having only a differential equation is insufficient.
Mehrdad Nasirshoaibi
Mehrdad Nasirshoaibi 2023년 4월 2일
Awesome

댓글을 달려면 로그인하십시오.

채택된 답변

Sandeep
Sandeep 2023년 3월 30일
Hi Mehrdad Nasirshoaibi,
To obtain the non-dimensional form of the given equation, we need to introduce appropriate scaling factors L, H, and T for length, height, and time, respectively. We then non-dimensionalize the variables by dividing them by their respective scaling factors. Finally, we non-dimensionalize the equation by multiplying each term by appropriate powers of the scaling factors.
Note that the scaling factors you choose will depend on the specific problem you are trying to solve, and there may be multiple ways to non-dimensionalize the equation. You should also make sure to double-check the non-dimensionalization to ensure that it is mathematically correct.
A sample implementation of the same is given below:
% Define scaling factors
L = <some_length_scale_factor>;
H = <some_height_scale_factor>;
T = <some_time_scale_factor>;
% Non-dimensionalize variables
syms x y w t p;
x = x/L;
y = y/L;
w = w/H;
t = t/T;
p = p/(E*H/L^2);
% Non-dimensionalize equation
eq = (rho/H)*T^2 * diff(w,t,t) - (sigma_x/E)*(L/H)^2 * diff(w,x,x) - (sigma_y/E)*(L/H)^2 * diff(w,y,y) ...
- (1/(2*(1-mu^2))) * (1/(H/L)^2) * ((diff(w,x)/L)^2 * diff(w,x,x) + (diff(w,y)/L)^2 * diff(w,y,y)) ...
- (mu/(1-mu^2)) * (1/(H/L)^2) * ((diff(w,x)/L)^2 * diff(w,y,y) + (diff(w,y)/L)^2 * diff(w,x,x)) ...
- 1/(1+mu) * (1/(H/L)^2) * (diff(w,x)/L) * (diff(w,y)/L) * diff(w,x,y) == p;

추가 답변 (0개)

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by