Nondimentionalize the 2 DOF equations

9 次查看(过去 30 天)
Yu
Yu 2024-10-7
编辑: Yu 2024-10-14
Hello all,
I hope you are doing well. I asked a question regarding dimensionalizing the motion equations in 2DOFs. Due to my mistakes, the description is not very clear. As suggested, I post a single question for the same question.
I would like to present the system I want to establish in MATLAB firstly. The absorber consists of a mass, three-spring system in the left fig, and the dashpot.
For the angular velocity , damping ratioξ, mass ratio μ, and the stiffness ratio α, they are easy to determine. The length of the oblique spring in my code is set to be 2.5m. But it can be various physically.
I am not sure the approach to achieve the nondimensionlized equation is corret or not. Also, I would like to know whether I could use the ratio value only. Specifically, I do not need to set the value.
My codes are also attached. Thank you for your help.
Best wishes,
Yu
clc;
clear all;
tspan = 0:0.25:200;
% Units:
% stiffness: N/m, mass:kg, damping(c_1):Ns/m
% displacement(X):m
% alpha (stiffness ratio):k_o/k_v
% gamma (dimension ratio):a/L (structure length)
% f_opt (frequency ratio): f_1/f_2
% k_v the stiffness of the vertical spring
% k_o the stiffness of the oblique spring
X0 = [0 0 0 0];
%parameters-------
global alpha gamma mu Omega_1 Omega_2 L_0
alpha = 1 % stiffness ratio k_o/k_v
gamma = 2*alpha/(2*alpha+1)
L_0 = 2.5
a = L_0*gamma;
h = sqrt(L_0^2-a^2);
mu = 0.02; % mass ratio
f_opt = 1/(1+mu); % frequency ratio
xi_2 = sqrt(3*mu/8*(1+mu));
Omega_1 = 0.188; % 0.03 Hz angular velocity of the primary structure
Omega_2 = Omega_1*f_opt; % angular velocity of the damper
xi_1 = 0.01; % damping ratio of primary structure
%matrix--------
M = [(1+mu)/(Omega_1^2*L_0) mu/(Omega_1^2*L_0);
1/(Omega_2^2*L_0) 1/(Omega_2^2*L_0)];
C = [2*xi_1/(Omega_1*L_0) 0;
0 2*xi_2/(Omega_2*L_0)];
K = [1/L_0 0;
0 1/L_0];
% state space model-------------------
% M: mass matrix, K:stiffness matrix, C:damping matrix
O = zeros(2,2);
I = eye(2);
A = [O I; -inv(M)*K -inv(M)*C];
B = [O; inv(M)];
E = [I O];
D = zeros(2,2);
% solve the equations-------------------
options = odeset('RelTol',1e-10,'AbsTol',1e-10);
[t,X] = ode45(@(t,X) QZSdamper(t,A,B,X),tspan,X0,options);
x = X(:,1:4);
%% plot
figure,
plot(t,x(:,1)); xlabel('Time/s'),ylabel('Dimensionless displacement of primary structure')
figure,
plot(t,(x(:,2)); xlabel('Time/s'),ylabel('Dimensionless displacement of TMD ')
sys = ss(A,B,E,D);
figure,
bodeplot(sys(1,1))
bp.FrequencyScale = "linear";
[mag,phase,wout] = bode(sys(1,1));
mag = squeeze(mag);
phase = squeeze(phase);
fout = wout/(2*pi);
BodeTable = table(fout,mag,phase);
function dXdt = QZSdamper(t,A,B,X)
global alpha gamma mu Omega_1 Omega_2
w = 0.180;
F1 = 0.001/(Omega_1^2*L_0)*sin(w*t); %harmonic excitation
F_o = 2*alpha*(sqrt(1-gamma^2)+X(2)/L_0)*(sqrt(1/((X(2)/L_0)^2+2*sqrt(1-gamma^2)*X(2)/L_0+1))-1);
F = [F;F_o];
dXdt = A*X+B*(F);
end
  5 个评论
Torsten
Torsten 2024-10-7
编辑:Torsten 2024-10-7
I'm not a physician - thus I don't know how to non-dimensionalize time in a suitable way for your application. But as long as any quantity in your system of differential equations has a physical unit, the system is not dimensionless. And your derivatives are with respect to physical time t, not some kind of dimensionless time t', I guess.
In the definition of new parameters you probably mean
omega1 = sqrt(k1/m1), omega2 = sqrt(k2/m2)
instead of
omega1 = sqrt(k1^2/m1^2), omega2 = sqrt(k2^2/m2^2)
Then each term of equations (5) is dimensionless (except for the independent variable t).
Yu
Yu 2024-10-7
Hi @Torsten, I am sorry they are indeed mistakes :( They should be
and
In this case, equation (5) is dimensionless (except for the independent variable t) as you mentioned.

请先登录,再进行评论。

回答(2 个)

William Rose
William Rose 2024-10-7
You are smart to add Sam Chak's name. He is a great and smart source of analysis and help.
There is more than one way you can create nondimensional coordinates for this system. It helps me to list all the physical constants in the systrem and relate them.
Before I do that, I suggest that the next time you post, you invest more time to provide a better diagram. This will make it easier for others to help you. The diagram on the left should be to the right of the diagram on the right, and it should be rotated 90 degrees, I think. The positive direction of x points up in the left diagram. The x direction is not shown on the right diagram, but I suspect it points to the right. Mass m2 and damper c2 appear in the discussion and in the equations, but neither m2 nor c2 appear in either diagram. And so on.
Is there a sign error in the equation for nonlinear force? You have
I think it should be . A better diagram would make it easier to know if the signs are correct.
Now let's list the physical constants of your system: masses m1, m2; lengths L0, a (or (a, h) or (h, L0)); dampers c1, c2; spring constants k1, kv, ko. You could write in terms of normalized length and normalized time. For length, you could normalize by L0. For time, you could choose to make the natural radian frequency, , of small oscillations of m1 about its rest point, equal to unity. To do this, you must compute in standard time units: , where knet is the sum of all the effectve spring constants acting on m1 at rest. It looks to me like , where is the angle of the ko springs at rest, and . I think the factor sine squared makes sense, but maybe there's an error or oversight in my mind's eye. Check my work.
  4 个评论
Yu
Yu 2024-10-8
编辑:Yu 2024-10-8
I really appreciate your detailed explantion. I would admit that I made a fatal mistake. The system should satisfy the physical meaning. When x1=0 and x2=0, the system should have 0 external force which means the oblique springs should not be compressed in the initial equlibrium state.
However, I’m a bit confused about Equation 2 from my original post. When x2 (x) =0, the equation in the red rectangle below should also equal zero. Yet, if I assume there is compression at the initial position (x=0), it shouldn’t be zero.
I am sorry for the late response. I made two diagrams for explaining my thought. I hope they are better now.
In fig. 1, the three-spring system replaces the linear spring (if it could function that way). When m1 and m2 are at their initial position, there is no force acting on them, meaning the springs are neither extended nor compressed. I define x2 as the relative displacement of m2 with respect to m1 to simplify the equations, as shown in my equations. When a displacement occurs, induced by f(t), the force generated by the three-spring system is expected to be:
(1)
(2)
where the extented lenght and .
It is shown that is 0 when x_2=0 or x_2=-h. When x = 0, the system is at the initial position there is no displacement and no force. When x = -h, the oblique spring is horizontal. I think this would be more reasonable.
Additionally, I believe there is another configuration for the three-spring system, as shown in fig. 2. In the initial position, the oblique springs are horizontal, allowing them to be compressed to their length L0. When a displacement occurs, the restoring force can be expressed as:
where , L0 is the original length of the oblique spring and l is the compressed lenght of the oblique spring.
Regarding the plot of the three-spring system, it incorporates a vertical spring component. The objective of the system is to achieve zero stiffness, as illustrated in the plot. The stiffness force will be zero when x2 is at a specific position.
I aim to find the dimensionless form of the system because there are numerous parameters that need to be determined, such as h, a, and L0, which are all included in the stiffness force equations. Since the dimensional ratios are related to the stiffness ratios, I would like to understand how the stiffness ratio influences the primary structure. When I nondimensionalize the , I also need to nondimensionalize the whole equation.
I would try your suggestions to make sure the equations correct.
Thank you again for your detailed explanations. They are really helpful.
Best wishes,
Yu
Sam Chak
Sam Chak 2024-10-8
Hi @Yu
The modeling process cannot be rushed, and the derived model must be verified. I advise young researchers to focus on "get things right before getting things done", as this can help avoid the need for repeated corrections. Therefore, before attempting to make the system dynamics dimensionless, please ensure that the model is correctly derived. You might also consider applying Lagrangian mechanics to see if you obtain the same mathematical model.

请先登录,再进行评论。


William Rose
William Rose 2024-10-8
@Yu, The two diagrams in your recent comment are helpful.
You say in your recent comment "I define x2 as the relative displacement of m2 with respect to m1 to simplify the equations, as shown in my equations." I think this is a confusing definition, because the oblique springs are anchored at one end to the external world, not to m1. Therefore the force of the oblique springs (fo) depends on the position of m2 relative to the external world, and not on the4 position of m2 relative to m1. If you really want to define x2 as displacement of m2 relative to m1, then you need to revise your equations for f0 to reflect the fact that fo depends on (x1+x2) rather than on x2 only. You also need to revise your equation for , for the same reason. (Your equation for uses "x". I assume you mean x2. Please do not use "x" in your equations. Use only x1 and x2, for clarity.) For the reasons just listed, I encourage you to define x2 as position of m2 relative to the external world. I assume below that this is how x2 is defined.
Equation 3 in your original post is not correct for the system illustrated in the diagrams in your recent comment. The correct coupled equations for x1 and x2 are
  10 个评论
David Goodmanson
David Goodmanson 2024-10-11
编辑:David Goodmanson 2024-10-12
Hello Yu,
In going dimensionless, in all cases I divided both sides of an equation by a constant, the same way as you are doing. In my comment (edited to number the equations), to go from (1) to (2) you plug in
d/dt = w0 d/du
(u being dimensionless) everywhere in (1), then divide both sides of the resulting equation by (m0 w0^2). The result is (2), in which the leading term is (M/m0).
In that term (M/m0) you you don't have to worry about factors of w0 any more because division by (m0 w0^2) takes care of it.
To get from (2) to (5), after substituting (4.2) into to (2), you have
M/m0) (d^2/du^2) x + C/(m0 w0) (d/du) x + K/(m0 w0^2) x =
= (1/(m0 w0^2)) 2 k0new h (1+x/h) (sqrt(h^2+a^2)/sqrt((h+x)^2+a^2) -1)
If you put in x = hy (which sort of implicitly assumes L0 = h) and divide both sides of the resulting equation by h, you get (5), with all terms dimensionless. The right hand side of (5) is
2 (k0new/(m0 w0^2)) (1+y) (sqrt(h^2+a^2)/sqrt((h^2(1+y)^2+a^2) -1)
You are of course right that there are still dimensions in the sqrt. But there is a ratio of two square roots and that ratio is dimensinless. I see now that you are interested in having dimensionless parameters everywhere as much as possible.. So in
sqrt(h^2+a^2)/sqrt((h^2(1+y)^2+a^2)
you can divide top and bottom by h, which is the same as dividing by h^2 inside the sqrt, to arrive at
sqrt(1+(a/h)^2)/sqrt(((1+y)^2+(a/h)^2)
where now the result is expressed in terms of a new dimensionless parameter (a/h).
I not commenting on whether (4.1) [your original nonlear force expression] is correct in tems of the system you are describing. It is just a good example of the process.
Yu
Yu 2024-10-14
编辑:Yu 2024-10-14
Thank you for your patient explantionation. According to your comments, I reorganized my equations to achieve dimensionless. Unfortunately, I found some difference and checked the process but had no clue. Thereofore, I would present the results for some support. Below is the figs about the dimensional and dimensionless displacement of the primary structure. I just removed the external excitations and considered the free vibration with the initial conditions.
It is obvious that they have different frequency. But I can confirm that the parameters are same.
There are equations for these two model in matlab.
As you can see, I divided for these equations. Where , and ,, . Please note k_2 is the vertical spring stiffness of the three spring system. xi_1 and xi_2 = .
For the both cases, I set the parameters. like damping ratio and mass ratio to be same. But the results are really different.
Best wishes,
Yu

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by