趣味で中性子星の限界質量を作るプログラム作りたいから手伝って

このエントリーをはてなブックマークに追加
134学生さんは名前がない:2011/01/25(火) 03:08:45 ID:4E4o6WIg0
ああ、今理解した、マクロか
135学生さんは名前がない:2011/01/25(火) 03:10:00 ID:4E4o6WIg0
以後f(,,)はvにg()は-xとして置き換えるってだけのマクロ文だわ
136♀д♀:2011/01/25(火) 03:10:41 ID:U0fVAz220
マクロス?
137学生さんは名前がない:2011/01/25(火) 03:12:30 ID:4E4o6WIg0
ただの置き換えだよ、プログラムの序盤で置換するだけの命令
138学生さんは名前がない:2011/01/25(火) 03:12:49 ID:q0J0mSe+P
あとルンゲクッタの方がいいんだけど
はじめは、オイラー法とかで試してみては?
139♀д♀:2011/01/25(火) 03:16:23 ID:U0fVAz220
>>137 じゃあただの実数ですか?
140学生さんは名前がない:2011/01/25(火) 03:17:07 ID:4E4o6WIg0
ただの変数ですvと-xが実数なら実数です
141♀д♀:2011/01/25(火) 03:17:08 ID:U0fVAz220
>>138 うん
142♀д♀:2011/01/25(火) 03:17:49 ID:U0fVAz220
>>140 なんて宣言すればいいの?
143学生さんは名前がない:2011/01/25(火) 03:20:03 ID:4E4o6WIg0
置き換えたい文字列 = 置き換え後

例)
func(x) = x+20 と記述すると
以後
func(x)*2 は
(x+20)*2 と解釈される
144学生さんは名前がない:2011/01/25(火) 03:49:54 ID:4E4o6WIg0
>>114のエラーの原因
line28は配列の宣言構文が間違ってる
xという名前の配列を作りたいならば
real x(8) と記述すべき

他の3つは多分rhoの宣言を忘れてる

よって寝る
145♀д♀:2011/01/25(火) 04:35:13 ID:U0fVAz220
みんなありがとう!!コンパイルできたよ!!
でも新たな問題が・・・
計算結果がNaNになってしまうのです!!
うpするから誰かどこが間違ってるか教えて!!

http://loda.jp/tomfile/?id=86
146♀д♀:2011/01/25(火) 04:37:00 ID:U0fVAz220
メインの計算部分は
c loop----------
って書いてあるところの下。
初期条件はちゃんと入ってるみたいです
147♀д♀:2011/01/25(火) 04:38:25 ID:U0fVAz220
誰か勝手にデバックしてくれたら神と呼びます
148♀д♀:2011/01/25(火) 04:57:25 ID:U0fVAz220
あああ なんでうまくいかん
149♀д♀:2011/01/25(火) 04:58:52 ID:U0fVAz220
この先なんねんもパソコンとにらめっこしながらデバックし続ける人生だとおもうと
悲しくなる
150♀д♀:2011/01/25(火) 04:59:48 ID:U0fVAz220
でもパフュームのみんなも売れるまで何年も頑張ったんや おいらも頑張るじょ!!!!!!!!!!!!!!!!!!!!
151学生さんは名前がない:2011/01/25(火) 05:02:37 ID:q4JvO1HT0
よくわからないけど、このプログラムで計算するとだいたいどれくらいになるかはもうわかってるの?
152♀д♀:2011/01/25(火) 05:05:58 ID:U0fVAz220
http://www.phys.u-ryukyu.ac.jp/~apweb_user/diss/s2008.html
このサイトの解系列ってグラフになるはず
153♀д♀:2011/01/25(火) 05:13:33 ID:U0fVAz220
最大質量は0.7solorくらいになるはずです
154学生さんは名前がない:2011/01/25(火) 05:14:12 ID:q4JvO1HT0
そうなんだ
まあ頑張って
155♀д♀:2011/01/25(火) 05:14:50 ID:U0fVAz220
っておーーーーーーーーーーーーーーーーーい!!!!!!!!!!1それだけかーーーーーーーーーーーーーーい!!!!!!!!!!!!!!!!!!!!!!(爆死
156学生さんは名前がない:2011/01/25(火) 05:18:58 ID:4E4o6WIg0
NaNってことはどっかでゼロ除算してるとかだろ
157♀д♀:2011/01/25(火) 05:19:19 ID:U0fVAz220
なるへそ!!!!!!!!!!!!!
158♀д♀:2011/01/25(火) 05:21:41 ID:U0fVAz220
>>156 デバック頼むわ^p^
159学生さんは名前がない:2011/01/25(火) 05:21:47 ID:gGJE8hJ+0
何がなるへそだよw
160学生さんは名前がない:2011/01/25(火) 05:26:04 ID:4E4o6WIg0
ざっと目を通したけどx()y()z()のマクロ宣言が見当たらない
161♀д♀:2011/01/25(火) 05:27:25 ID:U0fVAz220
一番下に書いてあるよ
162学生さんは名前がない:2011/01/25(火) 05:27:25 ID:4E4o6WIg0
と思ったら関数にしてたのか。。。。
163学生さんは名前がない:2011/01/25(火) 05:29:34 ID:4E4o6WIg0
じゃぁx()y()z()関数内にバグがないかそれぞれの関数を一度だけ呼び出すプログラム作って確認
場所特定はデバッグの基本
164♀д♀:2011/01/25(火) 05:30:42 ID:U0fVAz220
大学のサーバ使ってるからデバックしてるときは2ちゃんに書き込めないんだよ
代わりにやってくれよ
165学生さんは名前がない:2011/01/25(火) 05:31:25 ID:4E4o6WIg0
いやだよ実行環境ないし、フォートランのコード今日始めてみたし
166♀д♀:2011/01/25(火) 05:35:45 ID:U0fVAz220
うんちょこちょこちょこぴーーーーーーーーーーーーーーーーー!!!!!!!!!!!!!!!!!!!!!!1
167学生さんは名前がない:2011/01/25(火) 05:36:08 ID:4E4o6WIg0
ああ、分かった、関数xで最初の方に
real(8) P,M,r,rho って書いてるだろ、この3つは引数で渡されてるから宣言の必要はないと思う
他の関数も同様
168学生さんは名前がない:2011/01/25(火) 05:38:11 ID:4E4o6WIg0
cvc2も初期化できてない、引数で渡してくるかなんかしないと
169学生さんは名前がない:2011/01/25(火) 05:42:56 ID:4E4o6WIg0
バグっていうか関数の使い方が出来てないわ
関数内で宣言してる変数の殆どが意味成してないけど
170♀д♀:2011/01/25(火) 06:38:20 ID:U0fVAz220
もうツんだ
171学生さんは名前がない:2011/01/25(火) 14:07:38 ID:4E4o6WIg0
なんだ諦めたのか、アルゴリズム書いといたら情報系の誰かがコード書くかもよ
172学生さんは名前がない:2011/01/25(火) 22:49:19 ID:jIXSk1c/0
ほんと、もう諦めたの?
173学生さんは名前がない:2011/01/26(水) 03:04:18 ID:KpY5LvzK0
結局諦めたの?
174♀д♀:2011/01/26(水) 03:05:30 ID:AXP79W36P
お前らksだな
175♀д♀:2011/01/26(水) 03:22:38 ID:/ntEwnGH0
今週は忙しいので金曜日くらいにデバック再開する。
176♀д♀:2011/01/26(水) 03:41:54 ID:/ntEwnGH0
今週忙しすぎてやばす
177学生さんは名前がない:2011/01/26(水) 05:27:24 ID:0fD0+jjpP
プログラムなら手伝うから
アルゴリズムを簡単でいいから教えて
178♀д♀:2011/01/26(水) 05:46:09 ID:/ntEwnGH0
アルゴリズムがよくわからないから困ってるわけだけど。

単位はcgs単位系

初期条件の読み込み

変数、定数のノーマライズ

方程式の読み込み
dP / dr = - (g / r**2) * (rho + (P/cvc2))
& * (M + (pi4 * P / cvc2))
& / (1.0d0 - (2.0d0 * goc2 * M / r))
c
dM / dr = pi4 * r**2 * rho
c
drho / dr = - rho * (g / r**2) * (rho + (P/cvc2))
& * (M + (pi4 * P / cvc2))
& / (1.0d0 - (2.0d0 * goc2 * M / r))
& / (gam * P)

ルンゲクッタ法ループ開始

出力
179♀д♀:2011/01/26(水) 05:47:10 ID:/ntEwnGH0
cvcは光速の二乗、goc2はG/c^2
180♀д♀:2011/01/26(水) 05:50:50 ID:/ntEwnGH0
初期条件をどうするか問題
r=0にしちゃうと式が発散してしまう
181学生さんは名前がない:2011/01/26(水) 10:35:26 ID:0fD0+jjpP
わかった
時間あるときにやってみるよ
182♀д♀:2011/01/27(木) 01:08:10 ID:wYErNTZV0
183sato(〃*`Д´) ◆N.T.nuy0nw
Simulimkでやれよ