How to find nondimensionalize form with MATLAB?
7 次查看(过去 30 天)
显示 更早的评论
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
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.
采纳的回答
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 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!