回答編集履歴

3

shuusei

2021/08/31 04:38

投稿

ozwk
ozwk

スコア13528

test CHANGED
@@ -74,15 +74,15 @@
74
74
 
75
75
  ```python
76
76
 
77
- for n in range(1, nt+1):
77
+ if i=5 :
78
78
 
79
+ ^
80
+
79
- Q[i]=40000000000*dt*n
81
+ SyntaxError: invalid syntax
80
82
 
81
83
  ```
82
84
 
83
85
 
84
-
85
- 「`i`っていきなり出てきたけど何だよ」とpythonくんは思っています。
86
86
 
87
87
 
88
88
 

2

追記

2021/08/31 04:38

投稿

ozwk
ozwk

スコア13528

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- これだと全ての`n`、全て(両端除く)の`i`に対して`Q`が追加して代入ているので
13
+ これだと全ての`n`、全て(両端除く)の`i`に対して`Q`が追加して代入されているので
14
14
 
15
15
  `if`文で適切に`n`と`i`の値で場合分けしましょう。
16
16
 
@@ -40,6 +40,8 @@
40
40
 
41
41
 
42
42
 
43
+
44
+
43
45
  ```python
44
46
 
45
47
  for i in range(1, nx-1):
@@ -53,6 +55,16 @@
53
55
  temp_new[i] = temp[i] ...
54
56
 
55
57
  ```
58
+
59
+
60
+
61
+ (元の回答もこれを意図していました)
62
+
63
+
64
+
65
+ もちろんレーザーによる加熱に分布をもたせたいというならQを配列にしたほうが見通しはいいと思いますが。
66
+
67
+
56
68
 
57
69
 
58
70
 
@@ -71,3 +83,15 @@
71
83
 
72
84
 
73
85
  「`i`っていきなり出てきたけど何だよ」とpythonくんは思っています。
86
+
87
+
88
+
89
+ ---
90
+
91
+
92
+
93
+ 正直やろうとしていることに対してスキルが全然追いついていないので
94
+
95
+ もっとかんたんなプログラムから慣らしていったほうが結果的に早いと思います。
96
+
97
+ 急がばなんとやらです。

1

コメントに対する追記

2021/08/31 04:21

投稿

ozwk
ozwk

スコア13528

test CHANGED
@@ -17,3 +17,57 @@
17
17
 
18
18
 
19
19
  あと、`Q`は℃/sですが、`temp`は`℃`ですよね、次元が異なるものを足し合わせています。
20
+
21
+
22
+
23
+ ---
24
+
25
+
26
+
27
+ > 回答ありがとうございます。ご指摘していただいた通り吸収熱Qの単位が℃/s なので時間の要素nと時間間隔dtをかけました。(吸収熱は時間とともに増加させたいため)
28
+
29
+
30
+
31
+ そうしたら次元が`℃・s`になってしまいませんか?
32
+
33
+
34
+
35
+ > また吸収熱Qをある位置における熱とし、Temp[i]と同様Q[i]に変更しましました。
36
+
37
+
38
+
39
+ べつにそれでもいいですが、そんなことしなくてもFTCSのループで`if`で`temp_new`の代入文に`Q`の項を含めるかどうか分岐すればいいです。
40
+
41
+
42
+
43
+ ```python
44
+
45
+ for i in range(1, nx-1):
46
+
47
+ if Qが加わる位置と時刻だったら:
48
+
49
+ temp_new[i] = Q + temp[i] ...
50
+
51
+ else:
52
+
53
+ temp_new[i] = temp[i] ...
54
+
55
+ ```
56
+
57
+
58
+
59
+ > エラーが出ます
60
+
61
+
62
+
63
+ ```python
64
+
65
+ for n in range(1, nt+1):
66
+
67
+ Q[i]=40000000000*dt*n
68
+
69
+ ```
70
+
71
+
72
+
73
+ 「`i`っていきなり出てきたけど何だよ」とpythonくんは思っています。