update to the limit function for ps compatibility.
The output will stay between the two limits given. Tere is no prescription which of the two is upper or lower. This function will not solve all PS-Spice compatible model convergence issues. We better look for a built-in function with smooth, steadily differentiable corners.
This commit is contained in:
parent
bb8cdb2e2d
commit
d0a8e6ac51
|
|
@ -7636,7 +7636,9 @@ static struct card *pspice_compat(struct card *oldcard)
|
|||
new_str = copy(".param gmin = 1e-12");
|
||||
nextcard = insert_new_line(nextcard, new_str, 3, 0);
|
||||
/* add funcs limit, pwr, pwrs, stp, if, int */
|
||||
new_str = copy(".func limit(x, a, b) { max(min(x, a), b) }");
|
||||
/* LIMIT( Output Expression, Limit1, Limit2)
|
||||
Output will stay between the two limits given. */
|
||||
new_str = copy(".func limit(x, a, b) { ternary_fcn(a>b, max(min(x, a), b), max(min(x, b), a)) }");
|
||||
nextcard = insert_new_line(nextcard, new_str, 4, 0);
|
||||
new_str = copy(".func pwr(x, a) { pow(x, a) }");
|
||||
nextcard = insert_new_line(nextcard, new_str, 5, 0);
|
||||
|
|
|
|||
Loading…
Reference in New Issue