splitting big ouput expressions in ADE

F

fogh

Guest
I wonder how best to split a big ADE output expression. When the expression does
not fit in the output defs field nor the calculator field, one will want to
split the expression. (BTW, how about fixing the GUI s that those change size
with the window/dialog ?)
This happens quickly with pss result expressions.

I found a trick where I use
output1: (var1=calcfunc1(dataccessfunc(arg1 arg2) ))
output2: calcfunc2(var1)
instead of the normal
output: calcfunc2(calcfunc1(dataccessfunc(arg1 arg2) )))

but this suffers from many drawbacks. var1 is global, so I probably cannnot run
multiple simulations from the same CIW session. The output1 must be
evaluated/plotted , even if I don t wish to plot it. The var1 must be evaluated
_before_ output2, but I don t have control on the order of ADE outputs. And
editing the "outputs" file from artist states doesn t help there. I can t
believe how messy this file is nested "let"'s, with identical varnames and no
indentation.
 
Stephane,

I am looking for a solution not for me, but for the designers. All those who
had the guts to touch skill code did, but that is not the majority. And that is
orthogonal to their qualities in circuit engineering.

If I would write a funtion, it would be ADEOutputByName(name). The func that
lets you call another output by name. For instance define output number 5 called
Vsmn as VT("/somenet") and then use in output number 2 , 0.5*ADEOutputByName("Vsmn")

But I would not know how to write this.

S. Badel wrote:
why not calling custom skill code instead of predefined measurement ?
ie define a measurement as myFunc( ... ) and define myFunc as procedure

procedure( myFunc( ... )
let( (local1 ...)
local1 = ...
result = ...
) ;let
) ;procedure

this works from within ADE.
---------------

stéphane



fogh wrote:

I wonder how best to split a big ADE output expression. When the
expression does not fit in the output defs field nor the calculator
field, one will want to split the expression. (BTW, how about fixing
the GUI s that those change size with the window/dialog ?)
This happens quickly with pss result expressions.

I found a trick where I use
output1: (var1=calcfunc1(dataccessfunc(arg1 arg2) ))
output2: calcfunc2(var1)
instead of the normal
output: calcfunc2(calcfunc1(dataccessfunc(arg1 arg2) )))

but this suffers from many drawbacks. var1 is global, so I probably
cannnot run multiple simulations from the same CIW session. The
output1 must be evaluated/plotted , even if I don t wish to plot it.
The var1 must be evaluated _before_ output2, but I don t have control
on the order of ADE outputs. And editing the "outputs" file from
artist states doesn t help there. I can t believe how messy this file
is nested "let"'s, with identical varnames and no indentation.
 
why not calling custom skill code instead of predefined measurement ?
ie define a measurement as myFunc( ... ) and define myFunc as procedure

procedure( myFunc( ... )
let( (local1 ...)
local1 = ...
result = ...
) ;let
) ;procedure

this works from within ADE.
---------------

stéphane



fogh wrote:
I wonder how best to split a big ADE output expression. When the
expression does not fit in the output defs field nor the calculator
field, one will want to split the expression. (BTW, how about fixing the
GUI s that those change size with the window/dialog ?)
This happens quickly with pss result expressions.

I found a trick where I use
output1: (var1=calcfunc1(dataccessfunc(arg1 arg2) ))
output2: calcfunc2(var1)
instead of the normal
output: calcfunc2(calcfunc1(dataccessfunc(arg1 arg2) )))

but this suffers from many drawbacks. var1 is global, so I probably
cannnot run multiple simulations from the same CIW session. The output1
must be evaluated/plotted , even if I don t wish to plot it. The var1
must be evaluated _before_ output2, but I don t have control on the
order of ADE outputs. And editing the "outputs" file from artist states
doesn t help there. I can t believe how messy this file is nested
"let"'s, with identical varnames and no indentation.
 

Welcome to EDABoard.com

Sponsor

Back
Top