構文ガイド
本セクションでは、JoSIM で利用可能な構文について、ユーザーに包括的なガイドを提供します。
JoSIM は、読み込み時に各行が大文字に変換されるため、大文字・小文字を区別しません(CaSe InSeNsItIvE)。
また、値に単位を付けることは 推奨されません。特定のケースでは解釈が紛らわしくなるためです。例として、コンデンサの値を指定する際に Farad を表す F を付けると、JoSIM では F が Femto と解釈されます。結果として「5 Farad」を意図して 5F と書くと、「5 フェムトファラド」になってしまいます。シミュレータは単位を解釈しません。部品タイプ自体が単位を暗黙に決定するためです。
基本構文
各行は、最初に現れる空白でない文字(非空白文字)を識別子として用いる、類似の構文に従います。識別子は、その行を JoSIM がどのように処理するかを示します。
文字で始まる識別子は、設計内の物理コンポーネント(例: L, C, R)に対応します。この種の行はほぼ常に同じ構文で、ラベルと 2 つのノードを必要とします。ノード名は英数字を使用できますが、0 と GND は接地ノードを示す予約名です。さらに、ラベル名やノード名にピリオド(.)や縦棒(|)を使用することはできません。これらは JoSIM 内で予約された文字です。
ピリオド(.)で始まる行は、シミュレーション制御に関する行であることを示します。この場合、ピリオドに続くコマンドが制御内容を識別します(例: .tran, .print, .end)。
コメントは、アスタリスク(*)またはハッシュ(#)で始まる行です。コメントは単独行である必要があり、行末に付ける形式では動作しません。
プラス記号(+)で始まる行は、直前の行の継続行であることを示します。内部的には 2 行が結合されます。
多くの場合、コンポーネントの VALUE は変数名または式で置き換えられます。変数は .PARAM 制御を使用して定義できます。これらは後ほど詳しく説明します。
JoSIM の値は工学表記(Engineering Notation)またはサフィックスで修飾できます。利用可能なサフィックスは以下の通りです:
| サフィックス | 意味 | 工学表記の等価値 |
|---|---|---|
| F | Femto | 1E-15 |
| P | Pico | 1E-12 |
| N | Nano | 1E-9 |
| U | Micro | 1E-6 |
| M | Milli | 1E-3 |
| K | Kilo | 1E3 |
| MEG | Mega | 1E6 |
| X | Mega | 1E6 |
| G | Giga | 1E9 |
| T | Tera | 1E12 |
基本コンポーネント
ここでは利用可能な物理コンポーネントと制限事項を順に説明します。角括弧で囲まれたパラメータは任意であり、二重の角括弧は内側のパラメータが前のパラメータの存在に依存することを意味します。
抵抗
RLabel \(N^{+}\) \(N^{-}\) VALUE [temp=<TEMP>] [neb=<FREQ>]
抵抗値の単位はオーム(Ohms)です。
ノイズ解析で用いる温度はケルビン(Kelvin)です。単位は付けないでください。ケルビンの K を付けると、JoSIM では Kilo と解釈されるためです(例: 4K は 4000 になります)。
任意の周波数パラメータは、ノイズ解析時の有効ノイズ帯域幅(noise effective bandwidth)を設定します。既定値は 1GHz です。
インダクタ
LLabel \(N^{+}\) \(N^{-}\) VALUE
インダクタ値の単位はヘンリー(Henry)です。
コンデンサ
CLabel \(N^{+}\) \(N^{-}\) VALUE
コンデンサ値の単位はファラド(Farad)です。
ジョセフソン接合(JJ)
BLabel \(N^{+}\) \(N^{-}\) <PhaseNode> MODEL [area=<AREA>] [ic=<IC>] [temp=<TEMP>] [neb=<FREQ>]
ジョセフソン接合は 2 端子デバイスですが、WRspice との互換性のために、接続されない 3 つ目のノードを指定して定義することもできます。このノードは JoSIM では一切使用されません。
ジョセフソン接合ではモデル名の指定が必要で、そのモデルは制御 .MODEL を用いてプログラム内の任意の場所で定義できます。
AREA または IC が指定されない場合は、既定で area=1 が使用されます。
temp と neb は抵抗の場合と同じ意味です。
モデル
モデル制御の構文は次の通りです:
.MODEL ModelName ModelType([MODEL PARAMETERS])
JoSIM で現在サポートされている接合モデルは RCSJ モデルのみであり、利用可能な ModelType は jj のみです。調整可能パラメータは以下です:
| パラメータ | 範囲 | 既定値 | 説明 |
|---|---|---|---|
| RTYPE | 0, 1 | 1 | 使用する線形化モデル |
| VG または VGAP | -\(\infty\), \(\infty\) | 2.8E-3 | 接合のギャップ電圧 |
| IC または ICRIT | -\(\infty\), \(\infty\) | 1E-3 | 接合の臨界電流 |
| RN | 0, \(\infty\) | 5 | 接合の常伝導抵抗 |
| R0 | 0, \(\infty\) | 30 | 接合のサブギャップ抵抗 |
| C または CAP | 0, \(\infty\) | 2.5E-12 | 接合容量 |
| T | 0, \(\infty\) | 4.2 | 接合温度(K) |
| TC | 0, \(\infty\) | 9.1 | 超伝導材料の臨界温度 |
| DELV | 0, \(\infty\) | 0.1E-3 | サブギャップから常伝導への遷移電圧 |
| D | 0.0, 1 | 0.0 | 接点透明度(電流‐位相関係に影響) |
| ICFCT または ICFACT | 0, 1 | \(\frac{\pi}{4}\) | 臨界電流と準粒子ステップ高さの比 |
| PHI | 0, \(2\pi\) | 0 | \(\pi\) 接合などの phi-junction を実現 |
| CPR | {\(-\infty\), \(\infty\)} | {1} | 電流‐位相関係(CPR)の高調波振幅を設定 |
.model 行は、それが属するサブサーキット固有です。そのため、別々のサブサーキット内では同名でも異なるモデルを定義できます。サブサーキット内でモデルが見つからない場合はグローバルに検索され、それでも見つからなければ既定値(デフォルトモデル)が使用されます。
AREA と IC はモデルパラメータに対する修飾子として働きます。AREA は臨界電流の乗数であり、IC が指定された場合は AREA の代わりに \(AREA=\frac{IC_{jj}}{IC_{model}}\) が用いられます。
モデルの PHI を設定すると、JJ 電流の \(\sin(\phi)\) 部分において、位相(\(\phi\))からその位相値が恒常的に減算されます。これにより \(\pi\) 接合などをモデル化できます。
CPR は接合超電流の各高調波を変更します。単一値としても、波括弧で囲んだ n 個の配列としても指定できます。例えば CPR={0.9, 0.1} は、電流‐位相関係を \(I = I_C(0.9\sin(\phi) + 0.1\sin(2\phi))\) に設定します。
伝送線路
TLabel \(N^{+}_{1}\) \(N^{-}_{1}\) \(N^{+}_{2}\) \(N^{-}_{2}\) TD=VALUE Z0=VALUE
TD は秒単位の時間遅延です。
Z0 はオーム単位のインピーダンスです。
相互インダクタンス
KLabel \(L_{1}\) \(L_{2}\) VALUE
値は結合係数 k です。
ソース
独立ソース
電圧源
VLabel \(N^{+}\) \(N^{-}\) SOURCETYPE
電流源
ILabel \(N^{+}\) \(N^{-}\) SOURCETYPE
位相源
PLabel \(N^{+}\) \(N^{-}\) SOURCETYPE
従属ソース
電流制御電流源(CCCS)
FLabel \(N^{+}\) \(N^{-}\) \(N^{+}\)Control \(N^{-}\)Control CURRENT GAIN
電流制御電圧源(CCVS)
HLabel \(N^{+}\) \(N^{-}\) \(N^{+}\)Control \(N^{-}\)Control TRANSRESISTANCE IN OHMS
電圧制御電流源(VCCS)
GLabel \(N^{+}\) \(N^{-}\) \(N^{+}\)Control \(N^{-}\)Control TRANSCONDUCTANCE IN MHOS
電圧制御電圧源(VCVS)
ELabel \(N^{+}\) \(N^{-}\) \(N^{+}\)Control \(N^{-}\)Control VOLTAGE GAIN
ソースタイプ
区分線形(PWL)
pwl(0 0 \(T_{1}\) \(A_{1}\) ... \(T_{n}\) \(A_{n}\))
このソースは、指定された振幅値の間を、シミュレーションの各時刻点で線形補間します。
先頭 2 つの値は、シミュレーション開始時に 0 である必要があります。
パルス(Pulse)
pulse(\(A_{1}\) \(A_{2}\) [\(T_{D}\) [\(T_{R}\) [\(T_{F}\) [PW [PER]]]]] )
このソースは 2 つの振幅(\(A_{1}\) と \(A_{2}\))間のパルスを生成し、\(T_{D}\) 後に開始し、立上り・立下り時間(\(T_{R}\) と \(T_{F}\))を持ちます。これらは既定で過渡解析のステップ幅になります。
PW と PER はそれぞれパルス幅と周期を指します。指定されない場合、これらは既定で過渡解析の停止時間になります。
このソースは、設定した周波数で連続的にパルスを生成できます。
正弦波(Sinusoidal)
sin(\(A_{O}\) \(A\) [\(f\) [\(T_{D}\) [\(\theta\) [\(\phi\) [\(N_{C}\)]]]]] )
DC オフセット \(A_{O}\) と振幅 \(A\) を持つ(必要に応じて減衰する)正弦信号を周波数 \(f\)(Hz)で生成するソースです。省略時、\(f\) は \(\frac{1}{T_{STOP}}\) を既定値とします。
\(T_{D}\) は開始遅延です。\(t<T_{D}\) の間、出力は \(A_{O}\) に保持されます。
\(\theta\) は指数減衰係数(単位 \(s^{-1}\))です。\(\theta=0\) の場合は減衰しません。
\(\phi\) は正弦項に適用される位相シフトです。内部ではラジアンとして扱われ、度で指定された場合は \(\phi=\phi_{\deg}\pi/180\) により変換されます。
\(N_{C}\) が与えられ、かつ \(N_{C}>0\) の場合、正弦波は指定サイクル数だけ動作して停止し、その後の時刻ではすべて \(A_{O}\) に戻ります。
この関数は、以下の区分定義に基づき、過渡解析の各ステップでデータ点を生成します(\(\tau=t-T_{D}\)):
注意:
- \(N_{C}\) が省略(または \(\le 0\))の場合、正弦波はシミュレーション全期間にわたり継続します。
- \(N_{C}>0\) の場合、停止時刻を定義するために \(f\) は正である必要があります。
カスタム波形(Custom Waveform)
cus( wavefile \(T_{S}\) SF IM [\(T_{D}\) PER] )
このソースは、プレーンテキストの波形ファイルに含まれる点列から関数を生成します。ファイルは空白区切りの数値が 1 行だけ含まれている必要があります(例: 0 2 3 6 2 1 0)。
各数値は、時間ステップ \(T_{S}\) ごとの振幅を表し、スケール係数 SF によりスケーリングされます。点間は、補間なし(0)、線形(1)、三次(2)のいずれかで補間されます。PER を 1 にすると周期化され、パターンがシミュレーション全期間にわたり繰り返されます。
波形は \(T_{D}\) 以降に開始します。
直流(DC)
dc \(A\)
任意の時刻で常に \(A\) を出力する DC ソースです。
ノイズ(Noise)
noise(\(A\) \(T_{D}\) \(T_{STEP}\))
\(T_{D}\) 以降の時刻について、指定された時間ステップごとにノイズ値を生成します。\(T_{STEP}\) は、.neb によってグローバルに、または抵抗の neb= によってローカルに設定される有効ノイズ帯域幅の逆数です。
返されるノイズ値は次式で計算されます:
\(f(t) = A\frac{GRAND()}{\sqrt{2T_{STEP}}}\)
\(GRAND()\) はガウス乱数を生成する関数です。
指数(Exponential)
exp( \(A_{1}\) \(A_{2}\) \(T_{D1}\) \(\tau_{1}\) \(T_{D2}\) \(\tau_{2}\))
| パラメータ | 既定値 |
|---|---|
| \(T_{D1}\) | 0.0 |
| \(T_{D2}\) | \(T_{STEP}\) |
| \(\tau_{1}\) | \(T_{D1}+T_{STEP}\) |
| \(\tau_{2}\) | \(T_{STEP}\) |
3 つの時間区間に対して異なる値を返します。
\(t < T_{D1}\) のとき:
\(f(t)=A_{1}\)
\(T_{D1}\le t < T_{D2}\) のとき:
\(f(t) = A_{1}+(A_{2}-A_{1})(1-e^{\frac{t - T_{D1}}{\tau_{1}}})\)
\(T_{D2} \le t\) のとき:
\(f(t) = A_{1}+(A_{2}-A_{1})(1-e^{\frac{t - T_{D1}}{\tau_{1}}})+(A_{1}-A_{2})(1-e^{\frac{t - T_{D2}}{\tau_{2}}})\)
区分正弦補間(PWS)
pws(\(T_{0}\) \(V_{0}\) \(T_{1}\) \(V_{1}\) ... \(T_{N}\) \(V_{N}\) )
ユーザー定義の時間/値の点列を通る、滑らかな正弦(半余弦)補間波形を生成するソースです。pwl(...) と似ていますが、隣接点間を線形補間ではなく、正弦スプラインで接続します。
各点は \((T_i, V_i)\) の時間/値ペアで指定します。時間は 厳密に増加していなければなりません。
- \(t < T_0\) では出力は \(V_0\) に保持されます。
- \(t \ge T_N\) では出力は \(V_N\) に保持されます。
- \(T_i \le t < T_{i+1}\) では、半余弦(正弦イージング)区間で \(V_i\) から \(V_{i+1}\) へ滑らかに遷移します。
区間 \(i\) に対して \(u=\dfrac{t-T_i}{T_{i+1}-T_i}\)(\(0 \le u < 1\))とすると、出力は:
この補間は連続で、各指定点で傾きが 0 となるため、ブレークポイントで滑らかに接続されます。
注意:
- 最終値は最終タイムステップ \(T_N\) 以降で一定に保持されます。
- 時刻が重複している、または増加していない指定は不正であり、エラーになる可能性があります。
制御コマンド
シミュレーションエンジンは、与えられたコンポーネントに対して何を行うかを知るために制御コマンドを必要とします。
これらの制御コマンドのうち最も重要なのは過渡解析コマンドで、これなしにはシミュレーションを実行できません。
過渡解析(Transient Analysis)
.tran \(T_{STEP}\) \(T_{STOP}\) [\(P_{START}\) [\(P_{STEP}\) [\(P_{WINDOW}\)]]] DST
0 から \(T_{STOP}\) まで実行されるシミュレーションを生成します。実行されるステップ数は \(n=\frac{T_{STOP}}{T_{STEP}}\) です。
\(P_{START}\) は出力の印字開始時刻を示します。\(P_{STEP}\) は印字ステップ幅で、\(T_{STEP}\) 以上でなければなりません。
\(P_{WINDOW}\) が指定され、かつ 0 でない場合、出力データに対して幅 \(P_{WINDOW}\) 秒の Hanning FIR フィルタが適用され、その後に間引き(decimation)が後処理として行われます。これは、\(P_{STEP}\) で間引く際のエイリアシング防止のために低域通過フィルタとして使えます(例: 回路全体の IV カーブ生成など)。
DST はスタートアップ時間を無効化します。スタートアップ時間とは、部品が落ち着くまでの期間としてシミュレータ内部で計算されるものです。これは、回路に初めて電力が投入された直後(電源スイッチを入れた直後)の数ピコ秒に相当します。
サブサーキット(Subcircuits)
サブサーキットは、大きな設計の中で小さな回路を分割・再利用するための仕組みです。サブサーキット制御で包まれている場合、サブサーキットが完全に隔離されるため、ネットリスト内の他の場所と同じラベル名を持つデバイスを許容できます。
サブサーキットのラップ構文は次の通りです:
.subckt SubcktName IO Nodes
...
.ends
SubcktName はサブサーキット名、IO Nodes はサブサーキット内部から外部へ接続されるノードを指定します。
サブサーキットはメインネットリストまたは他のサブサーキット(ネスト)から次の構文で使用できます:
XLabel SubcktName IO Nodes (JoSIM モード)
XLabel IO Nodes SubcktName (WRspice(通常 SPICE)モード)
さらに、サブサーキット宣言行の末尾に LABEL=VALUE 形式のキーワードを付加できます。インスタンス化時に、サブサーキット内部の LABEL コンポーネントの値が対応する VALUE に置換されます。これにより、元のサブサーキット定義を変更したり同一定義を複数作ったりせずに、異なるパラメータのサブサーキット実体を作成できます。将来的なマージン解析や最適化ソフトウェアの可能性も広がります。
ノイズ(Noise)
技術的議論で述べた通り、ノイズは各抵抗に並列な電流源として自動挿入できます。熱雑音の温度と帯域幅は、以下のコマンドでグローバルに指定できます:
.temp 温度(Kelvin)
.neb 帯域幅(Hertz)
スプレッド(Spread)
JoSIM は、インダクタ・抵抗・コンデンサ・JJ(area/Ic)の各値を、公称値から指定した百分率範囲で一様分布によりばらつかせることができます。値が使用されるたび(行列生成時)に、一様分布から新しい乱数値が選ばれます。
これにより、プロセスばらつきをシミュレーションできます。
スプレッドをグローバルに設定するには、以下の制御を設定します:
.spread 正規化された割合 [L=インダクタのスプレッド] [B=JJ のスプレッド] [C=コンデンサのスプレッド] [R=抵抗のスプレッド]
各コンポーネントごとにも、宣言行に spread= の名前付きパラメータを追加してスプレッドを設定できます。
優先順位は、ローカル → グローバル(対象別)→ グローバル の順です。つまり、グローバルスプレッドが存在し、さらにインダクタ専用のグローバルスプレッドが存在し、かつ対象インダクタにローカルスプレッドがある場合、ローカルスプレッドが最優先になります。
例:
インダクタの値が 2pH の場合、これが公称値です。ローカルスプレッド 0.2 を指定すると、1.6pH から 2.4pH の範囲でランダム値が選ばれます。グローバルなインダクタ専用スプレッドが 0.3 でローカルスプレッドが未定義の場合、範囲は 1.4pH - 2.6pH になります。同様に、グローバルスプレッドが 0.5 の場合、シミュレーション実行ごとに 1pH から 3pH の範囲になります。
再現性(Reproducibility)
noise と spread の両方について、入力オブジェクトの作成時に乱数生成器(RNG)がシードされます。これは、noise/spread を非決定的(実行ごとに異なる結果)にするためです。しかし、場合によっては実行間で決定的(同一の結果)な noise/spread を生成したいことがあります。これを有効にするために .option seed= が追加されました。整数のシード値を指定することで、決定的な noise/spread を得られます。さらに、現在の自動シード実行で使用されたシードは、詳細モード(-V 1)で取得できます。
例:
.option seed=4190754512324517577
IV カーブ(IV Curve)
JoSIM は、ネットリスト内で指定した JJ モデルの IV カーブを出力するために、以下のコマンドを提供します:
.iv modelname max_current filepath
このコマンドは、指定された filepath にカンマ区切り(CSV)で IV カーブデータを出力します。電流範囲は負の max_current から正の max_current までです。
サブサーキット内のモデルは、modelname とサブサーキット名の区切りに .(ピリオド)または |(縦棒)を使って出力できます。
出力(Output)
結果の後処理がなければシミュレーションは意味を成しません。どの結果が保存対象かを知るために、シミュレータは出力制御コマンドを必要とします。
これらの出力コマンドは次のいずれかです:
.print .plot .save
これらのコマンドの後には、次のいずれかの形式で指定できます:
PrintType Device または Node
PType(Device or Node)(_0) ... PType(Device or Node)(_n)
PrintType は、デバイス電圧(DEVV)、デバイス電流(DEVI)、デバイス位相(PHASE)、ノード電圧(NODEV)、ノード位相(NODEP)のいずれかです。
デバイスタイプを指定する場合は 1 つのデバイスのみ指定できますが、ノードタイプの場合は 2 つのノードを指定して差分を保存できます。
PType は上記の短縮記法で、1 行に複数指定できます。PType は V、I(または C)、P のいずれかに続けて括弧内にデバイスまたはノードを指定します。カンマ区切りで複数(最大 2 つ)のデバイスまたはノードを指定した場合、それらの差分が保存されます。
さらに、次の構文を持つ追加の save タイプがあります:
@Device[PType]
これは指定したデバイスの PType を保存します。
サブサーキット内のパラメータ出力は、デバイスラベルとサブサーキットラベル名の区切りに .(ピリオド)または |(縦棒)を使用できます。
例:.print v(14.X01) p(B01.X02)
この方法では、サブサーキットがネストされている場合、内側から外側へパスを辿ります。
前述の通りサブサーキットはほぼ無制限にネストでき、シミュレーション時に展開されます。
ラベル名がすぐ分からず、出力指定に必要な場合は、CLI オプション -V 3 で実行して展開後のメイン設計を表示し、正確なラベル名を特定できます。
ファイル(File)
複数ファイル出力は、以下のコマンドで出力指示を分割することで実現できます:
.file filepath
このコマンド以降の出力要求は、指定された filepath のファイルに保存されます。
例:
.file output1.csv
.print p(B1) p(B2) p(B3)
.file output2.dat
.plot i(L01) i(L02) i(L03)
.file output3
.save v(1) v(2) v(3)
この例では 3 つの出力ファイルが生成されます。最初は位相のみを含む CSV、2 つ目は電流のみを含む空白区切りファイル、最後は電圧のみを含む SPICE RAW 形式です。
このコマンドは、コマンドラインのファイル出力オプションには影響しません。CLI 側でファイル出力を要求した場合は、位相・電流・電圧すべての出力要求を含む追加ファイルが別途生成されます。
パラメータ(Parameters)
JoSIM において重要な最後の制御コマンドはパラメータコマンドで、構文は次の通りです:
.param VarName=Expression
VarName は回路内の他の場所で使用できる変数名で、Expression は Dijkstra の shunting yard アルゴリズム実装により評価される数式です。式は逆ポーランド記法(RPN)へ変換されて評価されます。
さらに、式には他の変数を含めることができ、すべての変数が値へ還元されるまでパラメータは繰り返し評価されます。変数が未定義の場合、プログラムは停止してエラーを出します。
式の解析は .param 制御に限定されます。つまり、コンポーネント値や plot/model 制御のパラメータとして式をそのまま与えると、JoSIM は文字列を double に変換しようとして std::invalid_argument: stod: no conversion でエラーになります。式を使用する際は .param 制御に限定してください。
制御ブロック(Control Block)
上記の制御は、以下の構文で制御ブロック内にまとめることもできます:
.control
...
.endc
この中では、通常必要な .(ピリオド)をコマンド先頭に付けずに制御を記述できます。
このブロックは現時点では有用性が低いように見えますが、将来的により高度な機能のために使用されます。
インクルード(Include)
JoSIM は .include 制御カードをサポートし、構文は次の通りです:
.include relative_path_to_file
このコマンドは、ネットリスト解析時に指定パスのファイル内容を読み込み、ネットリストに取り込んで拡張します。大規模サブサーキットを扱う場合や、複数ファイル間でサブサーキットを再利用する場合に非常に便利です。
また、シミュレーションで使用する全モデルをここにまとめ、モデル変更時の編集箇所を一元化する用途にも使えます。
標準入力(Standard Input)
JoSIM は標準入力からの入力に対応しています。.end カードが見つかるまで、または EOF 文字が返るまで、ネットリストを 1 行ずつ読み込みます。
定数(Constants)
JoSIM には、使用すると対応する値に展開される組み込み定数があります。以下は定数とその値の一覧です。定数名は大文字・小文字を区別しません:
| 定数名 | 記号 | 値 |
|---|---|---|
| PI | \(\pi\) | 3.141592653589793238463 |
| PHI_ZERO | \(\Phi_{0}\) | 2.067833831170082E-15 |
| BOLTZMANN | \(k_{B}\) | 1.38064852E-23 |
| EV | \(e\) | 1.6021766208E-19 |
| HBAR | \(\bar{h}\) | 1.0545718001391127E-34 |
| C | \(c\) | 299792458 |
| MU0 | \(\mu_{0}\) | 12.566370614E-7 |
| EPS0 | \(\epsilon_{0}\) | 8.854187817E-12 |
| SIGMA | \(\sigma\)(\(\frac{\Phi_{0}}{2\pi}\) の略) | 3.291059757E-16 |
-
I. Salameh, E. G. Friedman and S. Kvatinsky, "Superconductive Logic Using 2ϕ—Josephson Junctions With Half Flux Quantum Pulses," in IEEE Transactions on Circuits and Systems II: Express Briefs, vol. 69, no. 5, pp. 2533-2537, May 2022, doi: 10.1109/TCSII.2022.3162723. ↩
-
S. V. Bakurskiy et al., "Current-phase relations in SIsFS junctions in the vicinity of 0-\(\pi\) Transition", Phys. Rev. B Condens. Matter, vol. 95, pp. 94522-94528, Mar. 2017. ↩