From b9abea4f8899fd530ff17d0ea9d7629036bd713e Mon Sep 17 00:00:00 2001 From: rlar Date: Sun, 10 May 2015 21:47:18 +0200 Subject: [PATCH] tests/regression/pz/ac-resistance.cir, check ac resistance (op, ac and pz) --- configure.ac | 1 + tests/regression/Makefile.am | 2 +- tests/regression/pz/Makefile.am | 12 +++++ tests/regression/pz/ac-resistance.cir | 68 +++++++++++++++++++++++++++ tests/regression/pz/ac-resistance.out | 3 ++ 5 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 tests/regression/pz/Makefile.am create mode 100644 tests/regression/pz/ac-resistance.cir create mode 100644 tests/regression/pz/ac-resistance.out diff --git a/configure.ac b/configure.ac index a0f0d3333..5f48c32fc 100644 --- a/configure.ac +++ b/configure.ac @@ -1185,6 +1185,7 @@ AC_CONFIG_FILES([Makefile tests/regression/func/Makefile tests/regression/model/Makefile tests/regression/misc/Makefile + tests/regression/pz/Makefile tests/sensitivity/Makefile tests/transient/Makefile tests/transmission/Makefile diff --git a/tests/regression/Makefile.am b/tests/regression/Makefile.am index 198b03f12..29f6139d3 100644 --- a/tests/regression/Makefile.am +++ b/tests/regression/Makefile.am @@ -1,5 +1,5 @@ ## Process this file with automake to produce Makefile.in -SUBDIRS = lib-processing parser subckt-processing func model misc +SUBDIRS = lib-processing parser subckt-processing func model misc pz MAINTAINERCLEANFILES = Makefile.in diff --git a/tests/regression/pz/Makefile.am b/tests/regression/pz/Makefile.am new file mode 100644 index 000000000..3ba383fc2 --- /dev/null +++ b/tests/regression/pz/Makefile.am @@ -0,0 +1,12 @@ +## Process this file with automake to produce Makefile.in + + +TESTS = ac-resistance.cir + +TESTS_ENVIRONMENT = ngspice_vpath=$(srcdir) $(SHELL) $(top_srcdir)/tests/bin/check.sh $(top_builddir)/src/ngspice + +EXTRA_DIST = \ + $(TESTS) \ + $(TESTS:.cir=.out) + +MAINTAINERCLEANFILES = Makefile.in diff --git a/tests/regression/pz/ac-resistance.cir b/tests/regression/pz/ac-resistance.cir new file mode 100644 index 000000000..8f5234eeb --- /dev/null +++ b/tests/regression/pz/ac-resistance.cir @@ -0,0 +1,68 @@ +check for proper use of ac resistance + +* (exec-spice "ngspice %s" t) + +Vin 1 0 dc 5.0 ac 3.0 + +R1 1 2 1k ac=4k +C2 2 0 1n +R2 2 0 4k + + +.control + +let success_count = 0 + +op + +let H0 = 1 / (1 + 1k / 4k) +let gold = 5.0 * H0 +let err = v(2)/gold - 1 + +echo "Note: err[op] =" $&err +if abs(err) > 1e-12 + echo "ERROR: op test failed" +else + echo "INFO: [op], success" + let success_count = success_count + 1 +end + +ac lin 3 100kHz 200kHz + +let H0 = 1 / (1 + 4k / 4k) +let tau = 1 / (1/4k + 1/4k) * 1n +let s = 2 * pi * i * frequency +let gold = 3.0 * H0 / (1 + s * tau) + +let err = abs(v(2)/gold - 1) + +echo "Note: err[ac] =" $&err +if vecmax(err) > 1e-12 + echo "ERROR: ac test failed" +else + echo "INFO: [ac], success" + let success_count = success_count + 1 +end + +pz 1 0 2 0 vol pz + +let tau = 1 / (1/4k + 1/4k) * 1n +let gold = -1/tau + +let err = abs(pole(1)/gold - 1) + +echo "Note: err[pz] =" $&err +if err > 1e-12 + echo "ERROR: ac test failed" +else + echo "INFO: [pz], success" + let success_count = success_count + 1 +end + +if success_count ne 3 + quit 1 +else + quit 0 +end + +.endc diff --git a/tests/regression/pz/ac-resistance.out b/tests/regression/pz/ac-resistance.out new file mode 100644 index 000000000..e5c7241b4 --- /dev/null +++ b/tests/regression/pz/ac-resistance.out @@ -0,0 +1,3 @@ +INFO: [op], success +INFO: [ac], success +INFO: [pz], success