How does Simscape solve nonlinear DAE?

1 view (last 30 days)
Marlon Saveri Silva
Marlon Saveri Silva on 27 Jan 2019
Edited: Marlon Saveri Silva on 27 Jan 2019
I am dealing with a Simscape code to get the temperature of several bodies over time.
Well, I tried to find an analytical expression to solve it, but I stopped when I found a system of nonlinear differential equations. I.e., since it envolves radiative heat transfer and the emissivity (e) varies over temperature, the equations present terms such as e(T)*T^4.
In other words, SIMSCAPE solves the following system, in which [A] and [B] may present terms dependent of T^n. [ e(T) could be, for example, a polynomial of order n]
{dT/dt} = [A]{T}^4+[B]{T}+{C}
I understand (but not completely) that SIMSCAPE uses a numerical method (Backward Euler as default), but I am looking for some reference that shows how is it really applied for a system of nonlinear equations.
Well, One could say that the term "e(T)" does not happen, since Simscape works in very small steps and just takes a constant value for e from a lookuptable for each interaction. But what about the nonlinearity T^4? Does simscape linearize equations before solving?
I believe it solves the system without linearize it, because the radiative heat transfer block present T^4 in the equation (Q=e*a*(T1^4-T2^4)) instead of something like Q=e*a*f(t)*(T1-T2), f(t)=(T1^2-T2^2)(T1+T2)
equations
assert(area > 0)
assert(rad_tr_coeff > 0)
Q == area * rad_tr_coeff * (A.T^4 - B.T^4);
end

Answers (0)

Community Treasure Hunt

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

Start Hunting!