国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種數(shù)學(xué)模型數(shù)值計算程序的驗證方法

      文檔序號:6341013閱讀:1564來源:國知局
      專利名稱:一種數(shù)學(xué)模型數(shù)值計算程序的驗證方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種用于有數(shù)學(xué)模型的數(shù)值計算程序的正確性驗證方法,特別是用于 求解偏微分方程的大型程序的正確性驗證。
      背景技術(shù)
      微分方程特別是非線性偏微分方程,由于數(shù)學(xué)目前發(fā)展水平的限制,一般來講其 解析解很難得到。這就對其數(shù)值求解程序的驗證帶來很大的不便。長期以來,對這些程序 的考核主要有以下幾種方法高精度解方法或解析解方法;專家判斷方法;進行程序與程 序運行結(jié)果的對比的方法。后兩種方法是建立可信度的方法,但它們不能代替嚴格的程序 驗證,同時由于高精度解有限,或難以簡單表達,而且在很多情況下解析解只有在某些假設(shè) 下才存在,這些假設(shè)往往使得方程中的某些項缺省,使得驗證沒有普遍意義。發(fā)明內(nèi)容
      為了解決背景技術(shù)中所存在的技術(shù)問題,本發(fā)明提出了一種數(shù)學(xué)模型數(shù)值計算程 序的驗證方法,從逆向思維的觀點出發(fā)構(gòu)造出一組能滿足程序驗證要求的解析解,從程序 實現(xiàn)精度階來對程序進行驗證,簡化了程序測試,提供了大量的解析解。
      本發(fā)明的技術(shù)解決方案是一種數(shù)學(xué)模型數(shù)值計算程序的驗證方法,其特殊之處 在于所述方法包括以下步驟
      1)確定程序求解的控制方程,假設(shè)該控制方程的邊界條件;
      2)確定步驟1)中控制方程的離散方法的理論收斂階;
      3)確定待測試的數(shù)學(xué)模型的所有分支程序;并根據(jù)邊界條件判斷控制方程是否 適定分支程序,若適定,則進行步驟4);
      4)確定控制方程的虛構(gòu)解;
      5)將虛構(gòu)解輸入控制方程的右端形成源項;
      6)將源項加入原控制方程的右端,并完成計算程序的輸入,得到控制方程的數(shù)值 解;
      7)判斷數(shù)值解和虛構(gòu)解的值是否一致,若一致,則進行步驟8);
      8)進行網(wǎng)格細化來獲得不同網(wǎng)格上的誤差,并利用數(shù)值解計算控制方程的實際收 斂階;
      9)將實際收斂階和理論收斂階進行對比,若實際收斂階與理論收斂階一致,則完 成當(dāng)前測試。
      上述步驟7)中若數(shù)值解與虛構(gòu)解不一致,則進行步驟10)查錯并改正錯誤,查到 錯誤并進行改正后,則返回步驟7)。
      上述步驟9)若實際收斂階和理論收斂階不一致,則進行步驟10)查錯并改正錯 誤,查到錯誤并進行改正后,則返回步驟7)。
      上述步驟9)之后還包括步驟11)判斷是否需要確定新的虛構(gòu)解,若是,則返回步3驟4)繼續(xù)。
      上述步驟1)中控制方程的邊界條件包括可壓或不可壓、有粘或無粘。
      上述步驟8)中網(wǎng)格細化的具體方式是對結(jié)構(gòu)網(wǎng)格整數(shù)倍進行加密,對非結(jié)構(gòu)網(wǎng) 格對每個三角形單元的各邊中點連線進行剖分細化。
      上述步驟10)中實際收斂階和理論收斂階不一致的原因包括測試公式或建立的 測試存在的錯誤、計算精度階在給定的時間、位置上存在錯誤、計算誤差度量或?qū)嶋H精度存 在錯誤或者收斂不完全。
      本方法的優(yōu)點虛構(gòu)解方法作為一種新的程序驗證方法,它具有精確解方法等同 的優(yōu)點,具有很強的生命力,能嚴格的測試程序時間空間離散的正確性、邊界條件、程序的 編寫和所做的一些坐標(biāo)變換。換句話說,影響實際精度階計算的地方都經(jīng)過了測試。本方 法實現(xiàn)起來比較簡單,虛構(gòu)解方法的最大優(yōu)點在于簡化了程序測試,提供了大量的解析解, 能夠避免網(wǎng)格收斂性測試方法中Richardson外推的不可靠性。
      具體實施方式
      參見

      圖1,本發(fā)明提出了一種數(shù)學(xué)模型數(shù)值計算程序的驗證方法,包括以下步驟
      1)確定程序求解的控制方程,假設(shè)該控制方程的邊界條件;
      2)確定步驟1)中控制方程的離散方法的理論收斂階;
      3)確定待測試的數(shù)學(xué)模型的所有分支程序;并根據(jù)邊界條件判斷控制方程是否 適定分支程序,若適定,則進行步驟4);
      4)確定控制方程的虛構(gòu)解;
      5)將虛構(gòu)解輸入控制方程的右端形成源項;
      6)將源項加入原控制方程的右端并完成計算程序的輸入,得到控制方程的數(shù)值 解;
      7)判斷數(shù)值解和虛構(gòu)解的值是否一致,若一致,則進行步驟8);若不一致,則進行 步驟10)查錯并改正錯誤;若找到錯誤并改正后,返回步驟7)繼續(xù)進行;
      8)進行網(wǎng)格細化來獲得不同網(wǎng)格上的誤差,并利用數(shù)值解計算控制方程的實際收 斂階;網(wǎng)格細化的具體方式是對結(jié)構(gòu)網(wǎng)格整數(shù)倍進行加密,對非結(jié)構(gòu)網(wǎng)格對每個三角形 單元的各邊中點連線進行剖分細化;
      9)將實際收斂階和理論收斂階進行對比,若實際收斂階等于理論收斂階,則程序 完成,若實際收斂階與理論收斂階不一致,則進行步驟10);
      10)進行查錯并改正處理,實際收斂階和理論收斂階不一致的原因包括測試公 式或建立的測試存在的錯誤、計算精度階在給定的時間、位置上存在錯誤、計算誤差度量或 實際精度存在錯誤或者收斂不完全;
      11)判斷是否重新選擇新的虛構(gòu)解,若是,返回步驟4)進行;當(dāng)所有驗證通過,則 程度結(jié)束。
      以一維Burger’ s方程為例,來說明該方法的原理。
      對一維 Burger,s 方程^n ^ ι
      ——+ — (-U2) = 0 dt dx 2^n ^ ι
      Lu = — + — (-U2)dt dx 2
      可選取虛構(gòu)解
      ue = ex+t
      源項
      f = ex+t+e2(x+t)
      為了保證源項在程序中實現(xiàn)的正確性,可以借助符號處理軟件Mathemat i ca/ maple等,它可以直接輸出Fortran語言形式的程序代碼。
      對邊界條件的修改,主要依據(jù)邊界的類型,對于一般邊界條件(Dirichlet邊 界,Neumann邊界,Robin邊界等)而言,邊界條件用邊界算子作用于虛構(gòu)解即可。如對 Dirichlet 邊界μ|3Ω = g(u),應(yīng)修改為μ|3Ω = g(ue)。
      權(quán)利要求
      1.一種數(shù)學(xué)模型數(shù)值計算程序的驗證方法,其特征在于所述方法包括以下步驟1)確定程序求解的控制方程,假設(shè)該控制方程的邊界條件;2)確定步驟1)中控制方程的離散方法的理論收斂階;3)確定待測試的數(shù)學(xué)模型的所有分支程序;并根據(jù)邊界條件判斷控制方程是否適定 分支程序,若適定,則進行步驟4);4)確定控制方程的虛構(gòu)解;5)將虛構(gòu)解輸入控制方程的右端形成源項;6)將源項加入原控制方程的右端,并完成計算程序的輸入,得到控制方程的數(shù)值解;7)判斷數(shù)值解和虛構(gòu)解的值是否一致,若一致,則進行步驟8);8)進行網(wǎng)格細化來獲得不同網(wǎng)格上的誤差,并利用數(shù)值解計算控制方程的實際收斂階;9)將實際收斂階和理論收斂階進行對比,若實際收斂階與理論收斂階一致,則完成當(dāng) 前測試。
      2.根據(jù)權(quán)利要求1所述的數(shù)學(xué)模型數(shù)值計算程序的驗證方法,其特征在于所述步驟7)中若數(shù)值解與虛構(gòu)解不一致,則進行步驟10)查錯并改正錯誤,查到錯誤并進行改正后, 則返回步驟7)。
      3.根據(jù)權(quán)利要求2所述的數(shù)學(xué)模型數(shù)值計算程序的驗證方法,其特征在于所述步驟 9)若實際收斂階和理論收斂階不一致,則進行步驟10)查錯并改正錯誤,查到錯誤并進行 改正后,則返回步驟7)。
      4.根據(jù)權(quán)利要求3所述的數(shù)學(xué)模型數(shù)值計算程序的驗證方法,其特征在于所述步驟9)之后還包括步驟11)判斷是否需要確定新的虛構(gòu)解,若是,則返回步驟4)繼續(xù)。
      5.根據(jù)權(quán)利要求1或2或3或4所述的數(shù)學(xué)模型數(shù)值計算程序的驗證方法,其特征在 于所述步驟1)中控制方程的邊界條件包括可壓或不可壓、有粘或無粘。
      6.根據(jù)權(quán)利要求5所述的數(shù)學(xué)模型數(shù)值計算程序的驗證方法,其特征在于所述步驟8)中網(wǎng)格細化的具體方式是對結(jié)構(gòu)網(wǎng)格整數(shù)倍進行加密,對非結(jié)構(gòu)網(wǎng)格對每個三角形單 元的各邊中點連線進行剖分細化。
      7.根據(jù)權(quán)利要求6所述的數(shù)學(xué)模型數(shù)值計算程序的驗證方法,其特征在于所述步驟10)中實際收斂階和理論收斂階不一致的原因包括測試公式或建立的測試存在的錯誤、 計算精度階在給定的時間、位置上存在錯誤、計算誤差度量或?qū)嶋H精度存在錯誤或者收斂 不完全。
      全文摘要
      本發(fā)明提出了一種數(shù)學(xué)模型數(shù)值計算程序的驗證方法,包括以下步驟1)確定程序求解的控制方程;2)確定離散方法的理論收斂階;3)確定數(shù)學(xué)模型的所有分支程序;4)確定虛構(gòu)解;5)將虛構(gòu)解輸入控制方程的右端形成源項;6)將源項加入原控制方程的右端,得到控制方程的數(shù)值解;7)判斷數(shù)值解和虛構(gòu)解的值是否一致;8)進行網(wǎng)格細化獲得不同網(wǎng)格上的誤差,并用數(shù)值解計算實際收斂階;9)若實際收斂階與理論收斂階一致,則完成當(dāng)前測試。本發(fā)明提出了一種數(shù)學(xué)模型數(shù)值計算程序的驗證方法,從逆向思維的觀點出發(fā)構(gòu)造出一組能滿足程序驗證要求的解析解,從程序?qū)崿F(xiàn)精度階來對程序進行驗證,簡化了程序測試,提供了大量的解析解。
      文檔編號G06F17/13GK102043759SQ20101061879
      公開日2011年5月4日 申請日期2010年12月31日 優(yōu)先權(quán)日2010年12月31日
      發(fā)明者周磊, 楊振虎, 梁益華 申請人:中國航空工業(yè)集團公司第六三一研究所
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1