ODE solver for second Order ODE with Stiffness and Mass Matrices

AI Thread Summary
The discussion focuses on solving a second-order differential equation in matrix form using MATLAB's ODE45 function. The equation involves mass and stiffness matrices, with a specified force vector F(t) defined as F(t)=[F0*sin(w*t), 0, 0, 0]. Participants highlight the need for initial conditions and suggest organizing the code by separating the function into a different script for better execution. A sample code snippet is provided, demonstrating how to set up the matrices and call the ODE solver. The conversation emphasizes the challenges of coding and the importance of proper function organization in MATLAB.
ihebmtir
Messages
3
Reaction score
0
TL;DR Summary
i have encoutered this Problem where i need to solve an ordinary differential Equation using ODE45 for M*u''+K*u=f(t)
i am new to MATLAB and and as shown below I have a second order differential equation M*u''+K*u=F(t) where M is the mass matrix and K is the stifness matrix and u is the displacement.
and i have to write a code for MATLAB using ODE45 to get a solution for u. there was not so much information on how to solve an ODE that´'s written on Matrix form, i would be really thankful for you help
 

Attachments

  • frage.png
    frage.png
    4.5 KB · Views: 184
Engineering news on Phys.org
Do you have a definition for the vector {f(t)}?
 
yes F(t)=[F0*sin(w*t), 0, 0, 0]
and Both M and K are 4X4 Matrices
 
Obviously you will need some initial conditions as well. I will attach a similar example problem and solution code.

It can be a little tricky getting the code to run. You should save the lower function in a separate script (called "f" in this case - since that's what the ode45 function calls) in the working folder. The upper part is what you will run and it calls the other function. There's probably a more elegant way of doing it, but I don't know it.
1624567411995.png

1624567424651.png

xo=[0; 0.1; 1; 0];
ts=[0 20];
[t,x]=ode45('f',ts,xo);
plot(t,x(:,1),t,x(:,2),'--')
%------------------------------------------
function v=f(t,x)
M=[2 0; 0 1];
C=[3 -0.5; -0.5 0.5];
K=[3 -1; -1 1];
B=[1; 1];
w=2;
A1=[zeros(2) eye(2); -inv(M)*K -inv(M)*C];
f=inv(M)*B;
v=A1*x+[0;0; f]*sin(w*t);
 
Here's a video by “driving 4 answers” who seems to me to be well versed on the details of Internal Combustion engines. The video does cover something that's a bit shrouded in 'conspiracy theory', and he touches on that, but of course for phys.org, I'm only interested in the actual science involved. He analyzes the claim of achieving 100 mpg with a 427 cubic inch V8 1970 Ford Galaxy in 1977. Only the fuel supply system was modified. I was surprised that he feels the claim could have been...
Thread 'Turbocharging carbureted petrol 2 stroke engines'
Hi everyone, online I ve seen some images about 2 stroke carbureted turbo (motorcycle derivation engine). Now.. In the past in this forum some members spoke about turbocharging 2 stroke but not in sufficient detail. The intake and the exhaust are open at the same time and there are no valves like a 4 stroke. But if you search online you can find carbureted 2stroke turbo sled or the Am6 turbo. The question is: Is really possible turbocharge a 2 stroke carburated(NOT EFI)petrol engine and...
Back
Top