tft プログラム仕様

TFT (Thin-Film Transistor) シミュレーションモジュール

概要: このモジュールは、薄膜トランジスタ (TFT) の電気的特性シミュレーションと構造可視化を提供します。 TFTのIV特性計算や、2D/3D構造モデルの描画が可能です。

詳細説明: コマンドライン引数に基づいて、様々なシミュレーションモードを実行します。 例えば、IV特性シミュレーション (--mode=IV) では、ゲート電圧 (Vg) とドレイン電圧 (Vd) に対するドレイン電流 (Id) の関係を計算し、結果をグラフとExcelファイルで出力します。 また、TFTの2D断面 (--mode=model) や3D構造 (--mode=model3d) の概念図を表示することもできます。 matplotlibとtkinterを統合したGUIにより、対話的なグラフ操作もサポートしています。

関連リンク: TFTシミュレーションプログラム技術ドキュメント

tft.tft.illustrate_TFT_model(app, cfg)[ソース]

TFTの2D断面構造モデルをmatplotlibを使用して描画します。

概要: 薄膜トランジスタ (TFT) の層構造の2次元断面図を視覚的に表現します。

詳細説明: サブストレート、ゲート、絶縁体、半導体、ソース、ドレインの各層を 異なる色と厚みを持つ長方形として描画します。 各層には対応するラベルが中央に配置され、TFTの典型的な構造を分かりやすく示します。 軸は非表示にされ、クリーンな構造図を提供します。

パラメータ:
  • app (tklib.tkapplication.tkApplication) -- tkApplicationオブジェクト (この関数では直接使用されませんが、インターフェースのため含めます)。

  • cfg (tklib.tkparams.tkParams) -- 構造パラメータ(例: 絶縁膜厚 dg、チャネル長 L)を保持するtkParamsオブジェクト。

戻り値:

None

tft.tft.illustrate_TFT_model3d(app, cfg)[ソース]

TFTの3D構造モデルをmatplotlibを使用して描画します。

概要: 薄膜トランジスタ (TFT) の層構造を3次元で視覚的に表現します。

詳細説明: サブストレート、ゲート、絶縁体、半導体、ソース、ドレインの各層を 異なる色と厚みを持つ3Dバーとして描画します。 これにより、TFTの物理的なレイアウトと各層の関係性を直感的に理解できます。 軸ラベルや目盛りは非表示にされ、モデルそのものに焦点を当てた表示となります。

パラメータ:
  • app (tklib.tkapplication.tkApplication) -- tkApplicationオブジェクト (この関数では直接使用されませんが、インターフェースのため含めます)。

  • cfg (tklib.tkparams.tkParams) -- 構造パラメータ(例: 絶縁膜厚 dg、チャネル幅 W、チャネル長 L)を保持するtkParamsオブジェクト。

戻り値:

None

tft.tft.initialize()[ソース]

アプリケーションと設定を初期化します。

概要: tkApplicationのインスタンスを生成し、アプリケーションの基本設定、プラグインディレクトリ、 およびコマンドライン引数の定義を行います。TFTシミュレーションに必要な物理パラメータや シミュレーション範囲を設定します。

詳細説明: - tkApplication を初期化し、プラグインディレクトリを設定します。 - アプリケーション設定ファイル (app_config.json) を読み込みます。 - シミュレーションパラメータを保持する tkParams オブジェクトを初期化し、app.cparams に割り当てます。 - --mode, --use_tkplt, --mu, --EV, --EC, --ND, --ED, --NA, --EA,

--dg, --erg, --W, --L, --Vth, --Vg_min, --Vg_max, --nVg, --Vd_min, --Vd_max, --nVd などのコマンドライン引数を定義します。

  • プロットのfigsize, fontsize, legend_fontsizeも設定します。

戻り値:

tuple: 初期化されたtkApplicationオブジェクトとtkParamsオブジェクトのタプル。 - app (tklib.tkapplication.tkApplication): アプリケーション全体の状態を管理するオブジェクト。 - cfg (tklib.tkparams.tkParams): シミュレーションパラメータを保持するオブジェクト。

tft.tft.main()[ソース]

TFTシミュレーションアプリケーションのメインエントリーポイントです。

概要: アプリケーションの初期化を行い、コマンドライン引数で指定されたモードに基づいて、 TFTのIV特性シミュレーション、または2D/3D構造モデルの描画を実行します。

詳細説明: 1. initialize() を呼び出して、tkApplicationtkParams オブジェクトを取得し、

アプリケーションの基本設定とパラメータを準備します。

  1. app.update_vars() を実行し、コマンドライン引数を解析して設定を更新します。

  2. cfg.mode の値に基づいて、以下のいずれかの処理を実行します。 - 'model': illustrate_TFT_model() を呼び出して2D構造モデルを描画します。 - 'model3d': illustrate_TFT_model3d() を呼び出して3D構造モデルを描画します。 - 'IV': simulate_IV() を呼び出してIV特性をシミュレーションし、プロットします。 - 'plotz', 'plotx', 'Vch': これらのモードが指定された場合、対応する(ただし、このコードベースには含まれない)関数を呼び出すことを想定しています。

    これらの関数の定義がない場合、プログラムはエラーで終了します。

  3. 未知のモードが指定された場合はエラーメッセージを表示し、プログラムを終了します。

戻り値:

None

tft.tft.simulate_IV(app, cfg, pause=True)[ソース]

TFTのIV特性をシミュレーションし、結果をプロットします。

概要: ゲート電圧 (Vg) とドレイン電圧 (Vd) に対するドレイン電流 (Id) を計算し、 その結果をExcelファイルに保存し、グラフとして表示します。

詳細説明: - ゲート酸化膜容量 (Cox) を計算します。 - VdとVgの掃引範囲を定義し、各点のドレイン電流を計算します。 - 線形領域と飽和領域のモデルに基づいて電流値を算出します。 - 計算結果は 'TFT_IV.xlsx' というファイル名でExcelに出力されます。 - 転送特性 (Id-Vg) と出力特性 (Id-Vd) の2つのグラフが表示されます。 - グラフには、アノテーション、マウス追跡、移動可能なテキスト、ポップアップメニューなど、

様々な対話型機能が組み込まれています。

  • プラグインディレクトリからポップアップメニュー項目を動的に読み込みます。

  • use_tkplt が有効な場合、Tkinterウィンドウにグラフが表示され、ツールバーボタンも追加されます。

パラメータ:
  • app (tklib.tkapplication.tkApplication) -- tkApplicationオブジェクト。

  • cfg (tklib.tkparams.tkParams) -- シミュレーションパラメータを保持するtkParamsオブジェクト。

  • pause (bool) -- シミュレーション終了時にプログラムの実行を一時停止するかどうかを示すブール値。 デフォルトはTrue。

戻り値:

None