Marq - I understand the interest in this. In principle, the simulator can detect the "switch branch" if (rth > 0) begin I(tnode) <+ -pdiss; I(tnode) <+ V(tnode)/rth + cth*ddt(V(tnode)); end else begin V(tnode) <+ 0; end and properly "collapse" the node. However, the compiler will have set up derivatives for the tnode, and it is not easy to bypass them. I wonder, though, if the generate is the right solution. In your test case, your module "mex504" would need to declare *all* of parameters of the underlying mextram504sh model and pass them through (further, they need to have the defaults set in your module, because these values will override the values in the underlying module). It seems to me that you should be able to use paramsets to set this up, using the selection rules such that only one paramset has rth as a parameter (if rth is not overridden, then "the paramset with the fewest number of un-overridden parameters shall be selected" means that the non-self-heating one would be picked. The paramsets would specify the values for the process, perhaps having (emitter) L and W as the "instance" parameters. -GeoffreyReceived on Wed Apr 5 14:08:03 2006
This archive was generated by hypermail 2.1.8 : Wed Apr 05 2006 - 14:08:05 PDT