- Scaling: Nondimensionalizing involves scaling the equations so that they are without units, making the range of values more uniform.
- Improved Stability: It can reduce numerical disparities, improving the stability of the solver.
- Better Convergence: The solver might converge more quickly with reduced condition numbers.
- Error Control: It helps the solver's error control work more effectively, as it assumes variables are of similar scale.
- Potential Solution: Nondimensionalizing the equations could help mitigate the issues you're facing with ode15s by making the problem more numerically tractable.
ODE15s nondimensional Jacobian matrix can help convergence?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
구구
am 19 Nov. 2023
Beantwortet: SOUMNATH PAUL
am 30 Nov. 2023
Hi
I'm trying to solve a transient multiphysics problem with MATLAB ode15s function.
The problem consists of three physical systems, so the range of there mass and residual matrix is very large and I'm using Jacobian matrix for speed up the ode function.
But the convergence speed is still too slow and ode function failes with the error "Unable to meet integration tolerances without reducing the step size"
So I checked the condition number of the mass and Jacobian matrix and these were in the range between 10^15~10^21.
In this situation, nondimensionalizing the equation colud help?
0 Kommentare
Akzeptierte Antwort
SOUMNATH PAUL
am 30 Nov. 2023
Hi,
To my understanding, you are working on a transient Multiphysics problem in MATLAB that involves three different physical systems, and you're using the ode15s function to solve it because it's good for stiff problems. But you are running into issues because the function is taking too long to solve the problem, and sometimes it can't find a solution within the allowed error limits without reducing step size.
You have also observed that the matrices involved in your calculations have condition numbers that are extremely high (between 10^15 and 10^21), which is a sign that the problem is very sensitive to small changes in the numbers you're working with. This can make it hard for the “ode15s” function to work correctly.
Here is how non-dimentionalizing can help in this scenario:
One suggestion is to use “ode23tb”. It might take more computational time per step but will be able to take much larger time steps and overall might be much more performant.
Hope it helps!
Regards,
Soumnath
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu 상미분 방정식 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!