Do not replace GND by 0 f if GND is used inside of the subcircuit

and is referenced on the .subckt line, and ps is set.
This will allow using this subcircuit with non-zero reference
voltage.
This commit is contained in:
Holger Vogt 2026-04-30 11:26:17 +02:00
parent 62440272a4
commit d20315309f
1 changed files with 3 additions and 2 deletions

View File

@ -2354,9 +2354,10 @@ static void inp_fix_gnd_name(struct card *c)
if (*gnd == '*')
continue;
// if inside of a subcircuit, and compatmode is ps, don't replace gnd
/* if inside of a subcircuit, and compatmode is ps,
and node gnd is on the .subckt line, don't replace gnd */
if (newcompat.ps) {
if (ciprefix(".subckt", c->line))
if (ciprefix(".subckt", c->line) && search_plain_identifier(c->line, "gnd"))
found_subckt = TRUE;
if (ciprefix(".ends", c->line))
found_subckt = FALSE;