原创 Essential C++ 學習筆記 第七章

異常處理 本來覺得這章會教怎麼解決常見bug之類的,結果主要講的是跟蹤代碼中的異常並輸出,是講如何把程序寫得更加健壯。這些代碼畫風給人感覺就特別像Java 拋出異常 就是throw這個命令,給出一個例子: inline void

原创 openFOAM combustion模塊學習筆記——程序結構

基礎資料 廢話不多說,首先羅列一些筆者參考的資料 openFOAM的官方網站爲:https://openfoam.org/ 東嶽流體網站:http://www.dyfluid.com/ 本文使用的爲openFOAM7版本,可以從網

原创 CHEMKIN III 學習筆記

首先簡單說明一下,CHEMKIN由美國Sandia國家實驗室開發,CHEMKIN II即以下版本爲開源版本,CHEMKIN III開始科研使用需要購買版權,或使用舊版本實現相同功能。CHEMKIN III之後的版本開始帶有簡單的圖

原创 Essential C++ 學習筆記 第三章

泛型的編程風格這章,在介紹泛型的同時,還介紹了它的實現思路。將算法從數據類型,返回值類型等抽離出來,就得到了泛型算法。容量對於我這樣的C++初學者來說還是有點大。啃了兩遍纔讀了下來。 STL(standard template l

原创 openFOAM中的forAll

這是用戶二次開發代碼中非常常用的一個語法,我們這裏看一下它的底層實現。當然不同的class會各自實現一個forall,這裏給出的是UList的實現,具體路徑位於 src/OpenFOAM/container/Lists/UList

原创 彭國倫Fortran95學習筆記(一)第一至七章

作爲一隻CFD小白,Fortran是無論如何都繞不開的語言,無數已有的程序甚至小規模的商用軟件都是Fortran寫的。但是這些古老的代碼存在goto過多,format使用過多,大量的矩陣操作都是用do循環堆砌,以及變量命名過度簡化

原创 openFOAM代碼閱讀——基礎代碼中的string

代碼仍然是src/OpenFOAM/primitives/路徑中的,爲文件夾strings,其中有內容 fileName keyType lists string stringOps word wordRe 這裏的多個文件夾都使

原创 Matlab編程計算任意階精度的離散格式係數

Matlab編程計算任意階精度的離散格式係數 離散格式的任意階導數,只要精度和點數確定後。對應各點的係數可以通過Taylor展開待定係數法計算得到。個人構造一些格式時,常常手動展開,計算係數的程序也已經寫過很多次。這裏乾脆掛在網上

原创 openFOAM學習筆記(一)—— C++基礎

一、C++基礎 很久不用C++,學習openFOAM之前複習一下C和C++相關的基礎知識 1.1常用操作符 ++,– 整型變量的自加自減,用法很多。最簡單的有i++,i–。運算速度會比i=i+1更快。 此外還有 j = i++ 和

原创 chemFoam的源碼提取

ok!經過一系列的鋪墊,我們來嘗試一下提取出openFOAM中的chemFoam程序的源碼,然後用Makefile編譯運行一下,這樣可以幫助我們進行二次開發。 呃。。。這個怎麼說呢。。。openFOAM一個單獨算例的程序依賴深度超

原创 openFOAM學習筆記(四)—— openFOAM中的List

又是一個很底層的部分,但是也非常重要,我們在進行數據寫入的時候就會使用到List。這裏介紹他的基本結構,以及在openFOAM被如何使用 UList的基礎功能 位於路徑: scr/OpenFOAM/containers/Lists

原创 openFOAM7幾個文件夾的作用

想搞懂openFOAM整個程序的結構,瞭解程序開發過程中幾個命名的文件夾的作用比較重要。這裏單獨瞭解一下。 openFOAM7的全部文件夾羅列如下: dyfluid@dyfluid:~/OpenFOAM/OpenFOAM-7$ l

原创 openFOAM代碼閱讀——綜述和版本說明

這裏閱讀的是openFOAM7的源碼。 openFOAM的教程要多少有多少,各種書籍線上教程,甚至還有培訓班。 但是openFOAM的代碼的真正解讀的資料缺並不多,這裏筆者只好自行補齊部分基礎的代碼閱讀。 首先說明一下我們閱讀的主

原创 Essential C++ 學習筆記 第四章

本書一共七章,讀完這章就過半啦~這章的題目是基於對象的編程風格。介紹對象class的實現方法。 之前其實已經使用過一些class,比如說<string>和<vector>。使用方法是將string或者vector當做數據類型使用定

原创 openFOAM代碼閱讀——基礎代碼中的char

openFOAM的源碼文件夾src中的內容如下: dyfluid@dyfluid:~/OpenFOAM/OpenFOAM-7/src$ ls Allwmake genericPatchFields