Jspice3
Main Page
Data Structures
Files
File List
Globals
jj.c
Go to the documentation of this file.
1
/***************************************************************************
2
JSPICE3 adaptation of Spice3e2 - Copyright (c) Stephen R. Whiteley 1992
3
Author: 1993 Stephen R. Whiteley
4
****************************************************************************/
5
6
#include "
spice.h
"
7
#include <stdio.h>
8
#include "
jjdefs.h
"
9
10
static
IFparm
JJpTable
[] = {
/* parameters */
11
IOP
(
"area"
,
JJ_AREA
,
IF_REAL
,
"Area factor"
),
12
IOP
(
"ic"
,
JJ_IC
,
IF_REALVEC
,
"Initial condition vector"
),
13
IOP
(
"phi"
,
JJ_ICP
,
IF_REAL
,
"Initial condition phase"
),
14
IOP
(
"vj"
,
JJ_ICV
,
IF_REAL
,
"Initial condition voltage"
),
15
IOP
(
"control"
,
JJ_CON
,
IF_INSTANCE
,
"Control inductor or voltage source"
),
16
OP
(
"icrit"
,
JJ_QUEST_CRT
,
IF_REAL
,
"Maximum critical current"
),
17
OP
(
"cap"
,
JJ_QUEST_CAP
,
IF_REAL
,
"Capacitance"
),
18
OP
(
"g0"
,
JJ_QUEST_G0
,
IF_REAL
,
"Subgap conductance"
),
19
OP
(
"gn"
,
JJ_QUEST_GN
,
IF_REAL
,
"Normal conductance"
),
20
OP
(
"gs"
,
JJ_QUEST_GS
,
IF_REAL
,
"Quasiparticle onset conductance"
),
21
OP
(
"g1"
,
JJ_QUEST_G1
,
IF_REAL
,
"NbN quasiparticle parameter"
),
22
OP
(
"g2"
,
JJ_QUEST_G2
,
IF_REAL
,
"NbN quasiparticle parameter"
),
23
};
24
25
static
IFparm
JJmPTable
[] = {
/* model parameters */
26
OP
(
"jj"
,
JJ_MOD_JJ
,
IF_FLAG
,
"Model name"
),
27
IOP
(
"rtype"
,
JJ_MOD_RT
,
IF_INTEGER
,
"Quasiparticle current model"
),
28
IOP
(
"cct"
,
JJ_MOD_IC
,
IF_INTEGER
,
"Critical current model"
),
29
IOP
(
"vg"
,
JJ_MOD_VG
,
IF_REAL
,
"Gap voltage"
),
30
IOP
(
"delv"
,
JJ_MOD_DV
,
IF_REAL
,
"Delta gap voltage"
),
31
IOP
(
"icrit"
,
JJ_MOD_CRT
,
IF_REAL
,
"Max crit current per unit area"
),
32
IOP
(
"cap"
,
JJ_MOD_CAP
,
IF_REAL
,
"Capacitance per unit area"
),
33
IOP
(
"r0"
,
JJ_MOD_R0
,
IF_REAL
,
"Subgap resistance for unit area"
),
34
IOP
(
"rn"
,
JJ_MOD_RN
,
IF_REAL
,
"Normal resistance for unit area"
),
35
IOP
(
"icon"
,
JJ_MOD_CCS
,
IF_REAL
,
"Control current first null"
),
36
OP
(
"vless"
,
JJ_MQUEST_VL
,
IF_REAL
,
"Gap threshold voltage"
),
37
OP
(
"vmore"
,
JJ_MQUEST_VM
,
IF_REAL
,
"Gap knee voltage"
),
38
OP
(
"vdp"
,
JJ_MQUEST_VDP
,
IF_REAL
,
"Dropback voltage"
),
39
};
40
41
static
char
*
JJnames
[] = {
42
"B+"
,
43
"B-"
,
44
"Ph"
45
};
46
47
static
char
*
JJmodNames
[] = {
48
"jj"
,
49
NULL
50
};
51
52
static
IFkeys
JJkeys
[] = {
53
{
'b'
,
NUMELEMS
(
JJnames
),
JJnames
, 1, 0 },
54
};
55
56
57
static
int
JJkSize
=
NUMELEMS
(JJkeys);
58
static
int
JJpTSize
=
NUMELEMS
(JJpTable);
59
static
int
JJmPTSize
=
NUMELEMS
(JJmPTable);
60
static
int
JJiSize
=
sizeof
(
JJinstance
);
61
static
int
JJmSize
=
sizeof
(
JJmodel
);
62
63
64
SPICEdev
JJinfo
= {
65
{
66
"JJ"
,
67
"Josephson Junction model"
,
68
69
&
JJkSize
,
70
JJkeys
,
71
1,
72
JJmodNames
,
73
JJparse
,
74
75
&
JJpTSize
,
76
JJpTable
,
77
78
&
JJmPTSize
,
79
JJmPTable
,
80
},
81
82
JJparam
,
83
JJmParam
,
84
JJload
,
85
JJsetup
,
86
JJsetup
,
87
NULL
/* JJtemp */
,
88
JJtrunc
,
89
NULL
,
90
NULL
/* JJacLoad */
,
91
JJaccept
,
92
GENdestroy
,
93
GENmDelete
,
94
GENdelete
,
95
JJgetic
,
96
JJask
,
97
JJmAsk
,
98
NULL
/* JJpzLoad */
,
99
NULL
/* JJconvTest */
,
100
NULL
/* JJdisto */
,
101
NULL
/* JJnoise */
,
102
103
&
JJiSize
,
104
&
JJmSize
105
};
JJmPTable
static IFparm JJmPTable[]
Definition:
jj.c:25
JJ_QUEST_G1
#define JJ_QUEST_G1
Definition:
jjdefs.h:135
IOP
#define IOP(a, b, c, d)
Definition:
devdefs.h:120
JJ_MOD_IC
#define JJ_MOD_IC
Definition:
jjdefs.h:141
JJmodel
struct sJJmodel JJmodel
NUMELEMS
#define NUMELEMS(ARRAY)
Definition:
spice.h:157
JJpTable
static IFparm JJpTable[]
Definition:
jj.c:10
JJ_ICP
#define JJ_ICP
Definition:
jjdefs.h:124
JJkeys
static IFkeys JJkeys[]
Definition:
jj.c:52
JJ_MQUEST_VL
#define JJ_MQUEST_VL
Definition:
jjdefs.h:153
JJinstance
struct sJJinstance JJinstance
JJmPTSize
static int JJmPTSize
Definition:
jj.c:59
JJ_AREA
#define JJ_AREA
Definition:
jjdefs.h:122
GENdestroy
void GENdestroy()
JJmParam
int JJmParam()
IF_INSTANCE
#define IF_INSTANCE
Definition:
ifsim.h:112
jjdefs.h
JJ_MOD_R0
#define JJ_MOD_R0
Definition:
jjdefs.h:146
JJkSize
static int JJkSize
Definition:
jj.c:57
JJ_QUEST_CAP
#define JJ_QUEST_CAP
Definition:
jjdefs.h:131
JJ_MQUEST_VM
#define JJ_MQUEST_VM
Definition:
jjdefs.h:154
JJparam
int JJparam()
JJ_QUEST_GS
#define JJ_QUEST_GS
Definition:
jjdefs.h:134
JJ_QUEST_G0
#define JJ_QUEST_G0
Definition:
jjdefs.h:132
JJ_MOD_CCS
#define JJ_MOD_CCS
Definition:
jjdefs.h:148
NULL
#define NULL
Definition:
spdefs.h:121
JJ_MOD_RN
#define JJ_MOD_RN
Definition:
jjdefs.h:147
JJ_MOD_CRT
#define JJ_MOD_CRT
Definition:
jjdefs.h:144
JJmSize
static int JJmSize
Definition:
jj.c:61
JJpTSize
static int JJpTSize
Definition:
jj.c:58
IF_INTEGER
#define IF_INTEGER
Definition:
ifsim.h:107
JJ_MQUEST_VDP
#define JJ_MQUEST_VDP
Definition:
jjdefs.h:155
JJ_ICV
#define JJ_ICV
Definition:
jjdefs.h:125
JJmAsk
int JJmAsk()
JJtrunc
int JJtrunc()
JJ_MOD_JJ
#define JJ_MOD_JJ
Definition:
jjdefs.h:149
spice.h
JJload
int JJload()
sIFparm
Definition:
ifsim.h:54
sIFkeys
Definition:
ifsim.h:267
JJsetup
int JJsetup()
JJ_MOD_VG
#define JJ_MOD_VG
Definition:
jjdefs.h:142
IF_REAL
#define IF_REAL
Definition:
ifsim.h:108
SPICEdev
Definition:
devdefs.h:43
JJ_QUEST_CRT
#define JJ_QUEST_CRT
Definition:
jjdefs.h:130
JJ_QUEST_G2
#define JJ_QUEST_G2
Definition:
jjdefs.h:136
IF_FLAG
#define IF_FLAG
Definition:
ifsim.h:106
JJinfo
SPICEdev JJinfo
Definition:
jj.c:64
GENmDelete
int GENmDelete()
JJaccept
int JJaccept()
IF_REALVEC
#define IF_REALVEC
Definition:
ifsim.h:125
GENdelete
int GENdelete()
JJ_IC
#define JJ_IC
Definition:
jjdefs.h:123
JJ_MOD_RT
#define JJ_MOD_RT
Definition:
jjdefs.h:140
JJiSize
static int JJiSize
Definition:
jj.c:60
JJ_QUEST_GN
#define JJ_QUEST_GN
Definition:
jjdefs.h:133
JJ_MOD_DV
#define JJ_MOD_DV
Definition:
jjdefs.h:143
JJnames
static char * JJnames[]
Definition:
jj.c:41
OP
#define OP(a, b, c, d)
Definition:
devdefs.h:119
JJgetic
int JJgetic()
JJ_CON
#define JJ_CON
Definition:
jjdefs.h:126
JJmodNames
static char * JJmodNames[]
Definition:
jj.c:47
JJ_MOD_CAP
#define JJ_MOD_CAP
Definition:
jjdefs.h:145
JJask
int JJask()
JJparse
void JJparse()
src
lib
dev
jj
jj.c
Generated by
1.8.11