c言語でcfitsioを用い、fitsファイルのヘッダーの読み込み

c言語でcfitsioを用い、fitsファイルのヘッダーを読み込ませるプログラムについて紹介します。

 

fitsファイルの読み込みは以前記載したので、そちらを参考にしていただき、ここまではできているものとして話を進めさせていただきますね〜〜 

narimonogashira.hatenablog.com

 

    char comment[FLEN_CARD]

を追加して、

    fits_open_file (&fptr, fname1, READONLY, &status);

    fits_get_num_hdus(fptr,&hdunum,&status);

    fits_get_hdu_num(fptr,&hdunum);

    fits_get_hdu_type(fptr,&hdutype,&status);

    fits_get_img_type(fptr,&bitpix,&status);

    fits_get_hdrspace(fptr, &nkeys, NULL, &status);

    fits_get_img_dim(fptr,&naxis,&status);

    fits_get_img_size(fptr,naxis,&naxes[0],&status);

    fits_read_key(fptr, TFLOAT, "LTV1", &x_pix, comment, &status);

    fits_read_key(fptr, TFLOAT, "LTV2", &y_pix, comment, &status);

とします。変わったところは赤の場所です。

 

1つめは「header」を見に行く的なコマンドです。

read_keyの部分がヘッダーを見に行きます。ヘッダーの中身はds9のdisplay headerで確認しておきます。その名前を""の間に挟むと、読み込むことができます。

 

これの便利なところは、ヘッダーには中心座標のRA,Decの情報が入っていたりして、ピクセルとRA,Decを対応させたい時などが出てきます。

それ以外にもヘッダーの情報をc言語に読み込むことができるようになると便利なことが多いです。

是非、使って見てくださいね!!

 

 

(シリーズ)現代の天文学(3, 天の川銀河)

(シリーズ)現代の天文学(3, 天の川銀河)

 

今日は、私たちが住んでいる天の川銀河(銀河系)のお話をしましょう。

 

narimonogashira.hatenablog.com

 でお伝えした通り、天の川銀河(Milky Way)と呼ばれる銀河系は、私たちの住んでいる太陽系が所属している銀河で、約2000億個の星が集まってできています。

 

天の川銀河は「棒渦巻銀河」と呼ばれる銀河で、全体としては「渦状腕」と呼ばれる渦巻き構造をしていて、中心部に「棒」の構造を持った銀河だと考えられています。

f:id:narimonogashira:20181206000043j:plain

(From 名古屋市科学館 | 科学館を利用する | 展示ガイド | キーワード検索 | 「き」ではじまるキーワード |キーワード【銀河系】 | 銀河系と天の川)

その中で、我々の太陽系は、中心からそこそこ離れた位置にあります。

銀河系の直径は一声10万光年とされていますが、太陽系は銀河系の中心から約2万5000光年離れた位置(案外僻地)に存在しています。

 

一般的に銀河では、新しい星が作られていて、1年間にだいたい太陽くらいの星が1個作られています。

基本的に星が作られている場所は、渦状腕と呼ばれる渦巻き部分で、上図では青くなっているところです。

一方、棒構造の部分(バルジとも言う(厳密には異なるが))では、新しい星はあまり作られておらず、古い星が支配的となっている領域となっています。

 

そして、銀河系の中心には、超大質量ブラックホール(Super Massive Black Hole; SMBH)が存在すると考えられており、その質量は太陽の400万倍あるとされている。

 

このSMBHは銀河系以外の多くの銀河にも存在すると考えられているが、その実態はわかっていないことも多い。

 

 

銀河系は渦巻き構造をしているが、円盤構造である。上から見ると円形だが、横から見たら薄い円盤構造をしていて、夏に見える「天の川」は、この円盤部を銀河中心に向かって見ていることになります。

 

なんか、夜遅くてあまりまとまってないですが、今回はここで終わります(笑)

 

おやすみなさい。& See you again!

星種族合成モデルBC2003において、様々な星形成史をもつ銀河モデルを作成する

星種族合成モデルBC2003において、様々な星形成史をもつ銀河モデルを作成する

 

前回はSSPモデルに対するスペクトルを出力しましたが、実際の銀河では、Constant SFなどをはじめとする様々な星形成史をもっていることが考えられており、BC03でもそれらの星形成史を再現することができるようになっています。

 

前回同様「src」ディレクトリに入ると、(tcshやらsourceしとかないと動かないですよ)

csp_galaxev

という実行ファイルがあります。

 

これを実行すると、まずモデルが聞かれるので、解凍しておいた欲しい金属量のモデル「◯◯.ised」を入れます。

すると、ダストを入れますか?

と聞かれる。本来はその銀河のダスト吸収を考えるべきなのだが、BC03に含まれているダスト吸収はあまり使われていないので、「N」を打ち込む。

(ダスト吸収が必要な場合は、スペクトルを作った後Calzetti lawを使う)

次に、作る星形成史のモデルを選ぶ。

 Choose SFR: 0 = SSP (Delta Burst = zero length burst)

             1 = Exponential (enter Tau)

            -1 = Exponential (enter mu_SFR parameter)

             2 = Single Burst of finite length

             3 = Constant

             4 = Delayed

             5 = Linearly decreasing

             6 = Read SFR(t) from ASCII file

となっているので、欲しい数字を入れる。

入れたものによって次が異なるが、例えば、Constant SFを考えて「3」を入力した場合は、次に、SFRがMsun/yr単位で聞かれる

その後、その星形成活動を何年行うかを入力する。

最後に、出力ファイル名を入れると、SSPモデルを積分して得られたConstant SFモデル(あるSFRをもつ銀河が◯◯Gyr生きた)が得られる。

 

その銀河のあるタイミングでのスペクトルは、

galaxevpl

で得られる。

星種族合成モデルBC2003(GALAXEV)のインストールと使い方

星種族合成モデルBC2003のインストールと使い方

 

Bruzual & Chalot の星種族合成モデルであるBC2003(GALAXEV)は、天文学で最も用いられているモデルです。

ある星形成史を仮定して星スペクトルから銀河のスペクトルを計算します。

 

ですが、謎にインストールのページのリンクが切れていた(18/12/1時点)ので、BC2003のファイルを持っている前提で話を進めます。

 

まず、全てのtar.gzファイルを解凍します。

すると、bc03というディレクトリができ、その下の階層に、

doc:解説のファイルが入っている

models:モデルが入っている

src:実行プログラムが入っている

template:作られた典型的なテンプレートが入っている

 

基本的にsrcのディレクトリを使います。

 

使う前に環境設定をする必要があります。

homeの「.cshrc」に

setenv bc03 /lfs11/himotokz/anam11b/himotokz/data/UV-SFR/BC2003/bc03/src

を追加します。

 

その後、

tcsh

cd $bc03

source ./.bc_cshrc

を打ち込み、環境設定を終えると、srcのディレクトリに移動し、

make all

fortranのプログラムのコンパイル等を行います。

 

これで環境設定は終わりです。

 

次に、用いたいSSP(Single Stellar Population)モデルをmodelのディレクトリからsrcのディレクトリへコピーして解凍します。

解凍したファイルはASCIIファイル(見れるやつ)なので、実行するときにプログラムが読み込めるファイルであるbinaryファイル(見れないファイル)に変更します。それが、

bin_ised bc2003_hr_m162_chab_ssp.ised_ASCII

です。これで、

bc2003_hr_m162_chab_ssp.ised

というファイルができます。ちなみに戻すには、

ascii_ised bc2003_hr_m162_chab_ssp.ised

で、ASCIIファイルを作れます。(モデルを作った際に中身を見るのに作る)

 

では、実際にスペクトルを作ってみます。

スペクトルを作るプログラムは、

galaxevpl

です。

実行すると、モデルを聞かれるので、◯◯.isedファイルを入れます。

作るスペクトルの波長(Å)の幅などが聞かれます。

その後、その銀河を観測する年齢(Gyr)が聞かれます。

すると、作成するファイル名が聞かれるので好きな名前を入力するとモデルが作られます。

それをプロットすると、

f:id:narimonogashira:20181201231523p:plain

Padova2000の星モデル、ChabrierのIMFを仮定し、金属量Z=0.019(Zsun)のSSPモデルの銀河を、銀河ができてから1Gyrの時点で観測した場合の1000-10000ÅのSEDです。

 

出てくるfluxは単位波長あたりなのに気をつけましょう。(等級に換算する時は単位振動数あたりのfluxに換算してからです)

 

どこかで、異なる星形成史のモデルを作る方法を解説します。

熱・統計力学のテキストランキング

物理学の勉強で参考になったテキスト(熱・統計力学)

1位:統計力学を学ぶ人のために(芦田正巳さん)

1位は圧倒的にこれです。

とにかくわかりやすい。

「学ぶ人のためにと」銘打ってるだけあって、学ぶ人のことを考えてくれている教科書です。間違いなくオススメ。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

統計力学を学ぶ人のために [ 芦田正巳 ]
価格:2808円(税込、送料無料) (2018/11/28時点)

楽天で購入

 

2位:熱・統計力学(物理入門コース)(戸田盛和さん)

物理入門コースの本なので、大学1,2回生レベルとなっていると思います。

とりあえずこれを勉強していれば、問題ないでしょうという一冊です。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

熱・統計力学 (物理入門コース) [ 戸田盛和 ]
価格:2700円(税込、送料無料) (2018/11/28時点)

楽天で購入

 

 3位:熱統計力学(石井廣湖さん)

大学の先生が推してました。

私もさらっと見たのですが、わかりやすそうでしたね!!

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

熱統計力学 [ 石井廣湖 ]
価格:2160円(税込、送料無料) (2018/11/28時点)

楽天で購入

 

 是非、おすすめの三冊です。

 

買い物するときにこのサイトを経由すると、ポイントが貯まります!!

☆ ★ ☆ お小遣いサイト モッピー ☆ ★ ☆

累計600万人が利用しているポイントサイト!
貯めたポイントはAmazonギフトやiTunesギフト、現金等に交換できる!!

無料会員登録すると、どんどんポイントが貯まっちゃいます!!
http://pc.moppy.jp/entry/invite.php?invite=Ms8Ke1f7 

ネットショッピングするだけでポイント貯まる♪
楽天AMAZONで買い物をするときに、モッピーを経由すると1%がポイントとして還元される!!

モッピーは1P=1円であらゆる交換先に対応!

貯めたポイントは現金や電子マネー(nanaco楽天EdyWAON)、ギフト券に交換できる!!
http://pc.moppy.jp/entry/invite.php?invite=Ms8Ke1f7

 

(シリーズ)現代の天文学(2, 赤い星と青い星)

(シリーズ)現代の天文学(2, 赤い星と青い星)

 

今日はいい天気ですか?

 

星空は見えていますか??

 

今夜は、「星の色」のお話をしましょう。

 

オリオン座の「ベテルギウス」という星はみなさんご存知ですよね?

ギリシャ神話の狩人である「オリオン」の右肩に位置する一等星です。

一方で、オリオンの左足に位置する一等星が「リゲル」という星です。

f:id:narimonogashira:20181126231725j:plain

(From ベテルギウス 2月の旬の星)

 

写真で見るとこんな感じ。

オリオン座の真ん中にいるのは「M42 オリオン大星雲」ですが、メシェ天体やら星雲の話は後日。

 

ところで、今日のテーマは色です。

みなさん気づきましたか???

 

ベテルギウスは赤く、リゲルは青いですよね???

 

これには星の「寿命」と「温度」が関係しています。

(ほんのちょっとだけ数式が出てきますが、わかりやすく説明するので我慢してください)

 

人間にも寿命があるように、星にも寿命があります。

短いものだと1000万年くらいですが、長生きするものは100億年以上生き続けます。

 

ちなみに、この寿命は最初に星ができた時に集まった(水素)ガスの重さ(質量)に依存します。

つまり、仲間(水素ガス)をたくさん集めて重くなった星は短命で、軽い星は長命なんです。

 

そして、重い星ほど密度が高く高温になります。

この温度が星の色を決めるんです。

ここに「ウィーンの変位則」というものがあります。(黒体放射を仮定。星の放射は近似的に黒体放射とみなせる)

f:id:narimonogashira:20181126232623p:plain

λは放射される光の波長、Tは温度です。

この積が一定ということは、温度が高ければ放射される光の波長が短い(青くなる)ということです。

 

つまり、

重い星 → 温度が高い → 放射される光の波長が短い → 青い

ということになります。

 

じゃあ、ベテルギウスは軽くて、リゲルは重い。

 

ということにはならないんです(笑)

普通はここまでの理論で大丈夫なのですが、ここに寿命が絡んできます。

 

実は、ベテルギウスは寿命の99.99%を終えていると言われており、死ぬ前の大大大膨張をしています。

膨張すると温度が下がります。(エアコンや冷蔵庫と同じ原理です)

この膨張によって温度が極端に下がることで、放射される光の波長が長く(赤く)なります。

 

これが、ベテルギウスが赤い理由です。

 

Wikipediaによると、

ベテルギウスは3500度。

リゲルの温度は1万1000度です。

 

この温度の差によって、ベテルギウスは赤く、リゲルは青く見えるんです。

 

まぁ、ベテルギウスが死ぬ直前って言っても寿命が約1億年っていうスケールなので、残り寿命0.01%だったとしても、そこそこ生きるんですよね(笑)

ベテルギウス超新星爆発が起これば、昼間のように明るくなるとか言われてますが(本当か知りません)、それが起こるのは明日かもしれないけど、10万年後かもしれないのが、天文学のスケールの大きさですよね(笑)

 

ということで、今夜は、星の色について解説しました。

 

解説してほしいことや、質問、コメント、ご感想などは、コメント欄にて受け付けていますので、どしどしどうぞ!!

 

では、

See you again!!

(シリーズ)現代の天文学(1, 夜空を彩る星と銀河)

(シリーズ)現代の天文学(1, 夜空を彩る星と銀河)

 

みなさん。天文学についてどんなイメージを持っていますか??

 

天文学というよりかは、見上げる夜空のイメージですかね??

 

もちろん、あの満点の星空は、宇宙の中にある星々なのですが、実は、宇宙というのはもっと広がっているんです!!

f:id:narimonogashira:20181126201728j:plain

 

現代の天文学では、カテゴリーが大きく二つに分けられます。

天の川銀河の内か外かです。

天の川銀河というのは、私たち太陽系が所属している銀河のことで、英語では「Milky Way」と呼ばれるものです。

実は、夜空を彩っている星たちの全ては、この天の川銀河の中に存在しています。

 

その数は、およそ2000億個!!

出ました。天文学的数字です(笑)

 

一方で、私たちが住んでいる天の川銀河の外側にも宇宙空間は広がっています。

天の川銀河の外側には、似たような銀河がたくさんありまして、「系外銀河」と呼ばれています。

 

f:id:narimonogashira:20181126203252j:plain

(From NASA Image of the Day | NASA)

 

この画像に映っている1つ1つ全てが銀河なんです!!

その数は、およそ1000億個。

 

また出てきました天文学的数字

 

ということなので、宇宙に存在している星の数は何個ですか?と聞かれたら、こう答えてください。

2000億×1000億個。

と。

だって、2000億個の星を持っている銀河が1000億個あるので、掛け算すれば宇宙の星の数が見積もれますよね。

 

と言うわけで、宇宙にはたくさんの銀河や星があります。

 

これまでの研究でいろんな謎が解かれてきましたが、またわかっていない謎もたくさんあります。

 

これからのシリーズで、最新の研究成果も含めた、不思議で壮大で謎に満ちたワクワクするようなお話をしていきたいと思います。

 

では、第1回はこの辺りで。

See you again!!