uni004.fとuni015.fは計算に用いるパラメータが異なるだけで,根本的には同一の プログラムです。想定している1次元フォトニック結晶は, ABAB...ABABCBABA...BABA という構造です。C層=A層の場合には,結晶構造は完全に規則的です。C層≠A層の 場合にはC層が欠陥領域になります。結晶構造はC層の左右で対称にとってあります。 C層の左側にあるA層の数をN/4と記します。ただし,Nは4の倍数です。C層も含 めた全体の層の数はN+1です。結晶は屈折率が1の真空中(空気中)に置かれている ことを仮定しています。  プログラム中のパラメータの意味は以下の通りです。 N :上で述べたN。4の倍数の整数を指定して下さい。 AL1 :A層の厚み。単位は格子定数(=A層の厚み+B層の厚み)。  0〜1.0の実数を指定して下さい。 AL2 :B層の厚み。単位は格子定数。0〜1.0の実数を指定して下さい。  AL1+AL2=1.0であることが必要。 AL3 :C層の厚み。単位は格子定数。正の実数を指定して下さい。 QEPS1 :A層の複素誘電率(=屈折率の自乗)。 QEPS2 :B層の複素誘電率。 QEPS3 :C層の複素誘電率。 OMEGA1 :スペクトルを計算する規格化周波数の下限。正の実数。 OMEGA2 :スペクトルを計算する規格化周波数の上限。正の実数。 NOMEGA :スペクトルを計算する周波数の個数。正の整数。  計算結果はOPEN文で指定したファイルに保存されます。ファイルに保存されるデータの 並びは以下の通りです。 1行目〜3行目: 計算に用いたパラメータ 4行目以降: 規格化周波数,振幅透過率の実部,同・虚部,振幅反射率の実部,同・虚部  uni004.datとuni015.datはそれぞれ,uni004.fとuni015.fを実行した結果です。前者は 規則結晶,後者は欠陥を含む結晶です。結晶の外側の屈折率を1として計算していますので, 透過率(エネルギー透過率)は(振幅透過率の実部の自乗)+(振幅透過率の虚部の自乗)で 与えられます。これを図示したものがuni004.jpgとuni015.jpgです。