First time here? Check out the Help page!
1 | initial version |
This was changed on September 16, 2011 by Michael Wetter (see revision notes in the model file. The model's revision notes state:
Changed the implementation from Q_flow[i] = kmax(heatPort[i+1].T-heatPort[i].T, 0);
to
Q_flow[i] = k
smooth(1, if dT[i]>0 then dT[i]^2 else 0);
.
The previous implementation was not differentiable. In modeling a solar system, this
change reduced the computing time by a factor of 20 during the time when the pumps
were almost switched off and colder temperature was fed from the collector to the tank.
The new formulation is differentiable and triggers no events, which makes it easier for Newton-solvers to find a solution, and avoids a computationally expensive event iteration which was done in the old implementation whenever the result of the if-then condition changed.
2 | No.2 Revision |
This was changed on September 16, 2011 by Michael Wetter (see revision notes in the model file. The model's revision notes notes state:
Changed the implementation from Q_flow[i] = kmax(heatPort[i+1].T-heatPort[i].T, 0);
to
Q_flow[i] = k
smooth(1, if dT[i]>0 then dT[i]^2 else 0);
.
The previous implementation was not differentiable. In modeling a solar system, this
change reduced the computing time by a factor of 20 during the time when the pumps
were almost switched off and colder temperature was fed from the collector to the tank.
The new formulation is differentiable and triggers no events, which makes it easier for Newton-solvers to find a solution, and avoids a computationally expensive event iteration which was done in the old implementation whenever the result of the if-then condition changed.
3 | No.3 Revision |
This was changed on September 16, 2011 by Michael Wetter (see revision notes in the model file. The model's revision notes state:
Changed the implementation from
Q_flow[i] = kmax(heatPort[i+1].T-heatPort[i].T, 0);
to
Q_flow[i] = k
smooth(1, if dT[i]>0 then dT[i]^2 else 0);
The new formulation is differentiable and triggers no events, which makes it easier for Newton-solvers to find a solution, and avoids a computationally expensive event iteration which was done in the old implementation whenever the result of the if-then condition changed.
4 | No.4 Revision |
This was changed on September 16, 2011 by Michael Wetter (see revision notes in the model file. The model's revision notes state:
Changed the implementation from
Q_flow[i] =
kmax(heatPort[i+1].T-heatPort[i].T,k*max(heatPort[i+1].T-heatPort[i].T, 0);toQ_flow[i] =
ksmooth(1, k*smooth(1, if dT[i]>0 then dT[i]^2 else 0);
.The previous implementation was not differentiable. In modeling a solar system, this change reduced the computing time by a factor of 20 during the time when the pumps were almost switched off and colder temperature was fed from the collector to the tank.
The new formulation is differentiable and triggers no events, which makes it easier for Newton-solvers to find a solution, and avoids a computationally expensive event iteration which was done in the old implementation whenever the result of the if-then condition changed.
5 | No.5 Revision |
This was changed on September 16, 2011 by Michael Wetter (see revision notes in the model file. The model's revision notes state:
Changed the implementation from
Q_flow[i] = k*max(heatPort[i+1].T-heatPort[i].T, 0);
toQ_flow[i] = k*smooth(1, if dT[i]>0 then dT[i]^2 else 0);
.The previous implementation was not differentiable. In modeling a solar system, this change reduced the computing time by a factor of 20 during the time when the pumps were almost switched off and colder temperature was fed from the collector to the tank.
The new formulation is differentiable and triggers no events, which makes it easier for Newton-solvers to find a solution, and avoids a computationally expensive event iteration which was done in the old implementation whenever the result of the if-then condition changed.