Opened 8 years ago

Closed 8 years ago

#4096 closed defect (invalid)

ExpressionSolve cannot solve with respect to array elements

Reported by: lochel Owned by: vitalij
Priority: high Milestone: Future
Component: Backend Version:
Keywords: PowerSystems Cc: rfranke

Description

The example PowerSystems.Examples.Spot.GenerationAC3ph.TurbineGenerator contains the equation 0.0002546479089470328 * der(RLgen1.i[3]) + 0.008 * RLgen1.i[3] = 0.0, which cannot get symbolically solved with respect to RLgen1.i[3].

Change History (6)

comment:1 Changed 8 years ago by vitalij

Seems to be right, that ExpressionSolve failed!
What do you expect?

comment:2 follow-up: Changed 8 years ago by lochel

RLgen1.i[3] = (-0.0002546479089470328 * der(RLgen1.i[3]))/0.008

comment:3 in reply to: ↑ 2 ; follow-up: Changed 8 years ago by vitalij

Replying to lochel:

RLgen1.i[3] = (-0.0002546479089470328 * der(RLgen1.i[3]))/0.008

Where we need this? It's strange that we should handling ode-equation(der(x) = c*x)) as not ode-equation.

comment:4 Changed 8 years ago by lochel

Just run the example from the description with the flag -d=failtrace. ExpressionSolve calls the differentiate module but does not pass the array subscript. Is that intended?

[Differentiate.mo:192:7-192:147:writable] Error: Derivative of expression "RLgen1.L0 * der(RLgen1.i[3]) + RLgen1.R * RLgen1.i[3]" w.r.t. "RLgen1.i" is non-existent.
[ExpressionSolve.mo:216:9-216:210:writable] Error: Internal error Failed to solve "RLgen1.L0 * der(RLgen1.i[3]) + RLgen1.i[3] * RLgen1.R = 0.0" w.r.t. "RLgen1.i[3]"

comment:5 in reply to: ↑ 3 Changed 8 years ago by vitalij

Replying to lochel:

Is that intended?

I guess it would be difficult to get the answer if the autore of the function is not involved. Newton step for linear system was before me.

Anaway I think is correct that ExpressionSolve don't solve the equation like descript in comment2.

comment:6 Changed 8 years ago by vitalij

  • Resolution set to invalid
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.