- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8.4 偏微分方程式の数値解法 [偏微分の復習(1)] そこで お互いに相手の変数を定数とみなして微分する。 偏微分の例 を定数とみなして [偏微分の復習(2)] [ベクトル解析の復習①] イメージをつかむために [ベクトル解析の復習③] [ベクトル解析の復習④] [ベクトル解析の復習⑤] [ベクトル解析の復習⑥] [ベクトル解析の復習⑦] 8.4.1 数値解法における差分の方法(1)差分の種類 常微分の場合と同様,以下のような方法がある。 ①前進差分(forward difference) ②中心差分(centered difference) ③後退差分(backward difference) (2)前進差分 微小格子を考え,以下のように近似する。 (3)後退差分 微小格子を考え,以下のように近似する。 (4)中心差分 微小格子を考え,以下のように近似する。 (5)差分式使用上の注意点 どの方法を選択するかは, ①与えられた条件, ②問題の性格, ③モデル化のしやすさ 等に応じて決めること。 8.4.2 物理現象と偏微分方程式(1)考え方 ①偏微分方程式は,物理現象を支配する法則等により体積無限小の極限で導出される。 ②有限な体積要素における法則により,基礎式が直接導出されることも多い。 (例:コントロールボリューム法,直接差分法) (2)2階偏微分方程式の分類 2階偏微分方程式の一般式 (3)楕円型のプログラム例 [シートの定義] VBAによる定義 ①データ宣言 Private ポアソン As Boolean Private KX As Integer Private KY As Integer Private NN As Integer Private EPS As Double Private U() As Double Private ID1 As Integer Private ID2 As Integer Private F() As Double Private UMax As Double Private UMin As Double Private UDX As Double ②初期条件の設定と境界条件設定 Private Sub 初期条件(KX, KY, MX, MY, DX, DY) For j = 0 To KY For i = 0 To KX U(0, i, j) = 0: U(1, i, j) = 0: F(i, j) = 0 If ポアソン Then ‘ ポアソンの方程式のとき右辺設定 F(i, j) = 80 * (DX * (MX - i) + DY * (MY - j)) End if Next Next End Sub Private Sub 境界条件(KX, KY, DX, DY) For k = 0 To 1 For i = 0 To KX: U(k, i, 0) = 0: U(k, i, KY) = 16: Next For j = 0 To KY: U(k, 0, j) = 0: U(k, KX, j) = 8: Next Next End Sub ③計算本体(その1) Private Sub 計算(KX, KY, NN, EPS) Dim MX As Integer: MX = KX + 1 Dim MY As Integer: MY = KY + 1 Dim DX As Double: DX = 1# / KX Dim DY As Double: DY = 1# / KY ReDim U(1, KX, KY), F(KX, KY) Dim F1 As Double: F1 = 1 / (DX * DX) Dim F2 As Double: F2 = 1 / (DY * DY) Dim F3 As Double: F3 = 0.5 / (F1 + F2) 初期条件 KX, KY, MX, MY, DX, DY 境界条件 KX, KY, DX, DY ④計算本体(その2) 収斂計算 ID1 = 1: ID2 = 0 For N = 0 To NN - 1 ID = ID1: ID1 = ID2: ID2 = ID: ER = 0 For j = 1 To KY - 1 For i = 1 To KX - 1 U(ID2, i, j) = F3 * (F1 * (U(ID1, i + 1, j) + U(ID1, i, j + 1)) + _ F2
原创力文档


文档评论(0)