Re: workarounds for the lack of nodeset

Felix Salfelder <[email protected]>
Newsgroups gmane.comp.gnu.gnucap.devel
Message-ID <[email protected]>
On Fri, Jul 26, 2019 at 08:57:40PM -0400, al davis via Gnucap-devel wrote:
> I never had a need for nodeset, but it looks fairly easy to do.
>
> In Spice, it works by jamming non-ideal sources into the matrix, 1 ohm
> in parallel with a current source is close enough to a voltage source.
>
> On DC or starting tran ..
> First converge with sources in.
> Then take them out and converge again.

this mechanism helps if there are multiple OPs to select from.  for
other uses, like starting a tran with charged caps, ngspice has an "ic"
command. the implementation for nodeset and ic for nodes should be
pretty much the same.

there is one (known) bug in s_tr_swp.cc +83. perhaps it should do the
sequence above.

> The bm_ .. would fiddle the value according to status, effectively
> removing itself ... f1=1 to start, then 0.  f0=voltage to start, then
> 0.  and sense something to change state.

another bug in in d_vs.cc +87. the bm is not queried during tr_begin, so
it has to do another pass.

I have a proof of concept [1]. it kind of works conceptionally. I ran
out of time. Please feel free to add the rest or port it to C++.

cheers
felix

[1] https://codeberg.org/gnucap/gnucap-python/src/branch/nodeset-1/examples/c_nodeset.py

_______________________________________________
Gnucap-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gnucap-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.