[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnucap-devel] wave storage
From: |
Felix Salfelder |
Subject: |
[Gnucap-devel] wave storage |
Date: |
Wed, 10 Sep 2014 22:14:42 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Hi Al.
lets rearrange wave storage a bit. currently waves get lost between the
lines, for example
> build
> v1 1 0 1
> .
> store dc v(1)
> dc
> measure x=at(probe="v(1)")
> x= 1.
> tran
> measure x=at(probe="v(1)")
no match: v(1).
i would rather want something like this
> store dc v(1)
> dc
> measure x=at(probe="v(1)")
> x= 1.
> measure x=at(probe="dc:v(1)")
> x= 1.
> tran
> measure x=at(probe="dc:v(1)")
> x= 1.
> measure x=at(probe="v(1)")
no match: v(1),
where the "dc:" prefix is chosen by the dc command and the unprefixed
probe name refers to the last simulation. until here, this is
implemented, and open for ideas. please have a look at the "waves"
branch (which requires the WAVE copy constructor, which is part of the
"fixup" branch).
with the proposed changes one could set labels for simulation results,
as in
> dc v1 0 1 .1 label=dc1
> alter something
> dc v1 0 1 .1 label=dc2
> measure x=at(probe="dc1:v(1)")
> measure y=at(probe="dc2:v(1)")
but also, i'd like to abuse the modified wave storage for a calculator,
for example to implement things similar to
> wave difference=dc1:v(1)-dc2:v(1)
> plot difference
or
> measure l2 l2_norm(probe1="dc1:v(1)", probe2="dc2:v(2)")
or
> store tran v(1)
> tran 0 1 .1
> wave spec=fft(tran:v(1))
> measure peak=max(spec)
thanks
felix
- [Gnucap-devel] wave storage,
Felix Salfelder <=