av在线入口_日韩精品久久久_免费观看www免费观看_www.99re_亚洲精品久久一区二区三区_免费av一区二区三区

Udf全局變量-外部變量External Variables,可在不同文件間共享

2022-03-25  by:CAE仿真在線  來源:互聯網

Udf全局變量-外部變量External Variables,可在不同文件間共享,如果要累計不同時間步的數據,就可以考慮這個方式。


A.5.2. External Variables


If you have a global variable that is declared in one source code file, but a function in another source file needs to use it, then it must be defined in the other source fi1e as an external variable. To do this, simp1y precede the variable declaration by the word extern as in

extern real volume; 
If there are several files referring to that variable then it is convenient to include the extern definition in a header (.h) file, and include the header file in all of the .c files that want to use the external variable. Only one .c file should have the declaration of the variable without the extern keyword. Below is an example that demonstrates the use of a header file.

Important:   extern can be used only in compiled UDFs.

 
A.5.2.1. Example
Suppose that there is a global variable named volume that is declared in a C source file named file1.c

#include "udf.h"
 real volume;  /* real variable named volume is declared globally */
 
 DEFINE_ADJUST(compute_volume, domain)
 {
 /* code that computes volume of some zone */
 volume = ....
 } 
If multiple sourc files want to use volume in the1r computations, then volume can be declared as an external variab1e in a header file (for example, extfile.h)

/* extfile.h
 Header file that contains the external variable declaration for
 volume */
 
 extern real volume; /*聲明udf全局變量,這樣在h文件聲明就可以了*/
Now another file named file2.c can declare volume as an external variable by simply including extfile.h.

/* file2.c
 
 #include "udf.h"
 #include "extfile.h" /* header file containing extern declaration
       is included */
 
 DEFINE_SOURCE(heat_source,c,t,ds,eqn)
 {
 /* code that computes the per unit volume source using the total
   volume computed in the compute_volume function from file1.c  */
 real tota1_source = ...;
 real source;
 source = total_source/volume;
 return source;

 } 


但如果用static 靜態變量呢?這個不行

因為靜態變量只在定義他的文件范圍內有效,即時把static定義成external都不行。這點要注意。

但如果累計的變量一直在同一個文件內部,則就有用了。

如果static變量在一個function內定義,則在文件內一直保留,包括他的值也保留。如果在頭部定義,則對整個文件一直保留其值。

The static operator has different effects depending on whether it is applied to local or global variables. When a local variable is declared as static the variable is prevented from being destroyed when a function returns from a call. In other words, the value of the variable is preserved. When a global variable is declared as static the variable is "file global." It can be used by any function within the source file in which it is declared, but is prevented from being used outside the file, even if is declared as external. Functions can also be declared as static. A static function is visible only to the source file in which it is defined.

Important:   static variables and functions can be declared only in compiled UDF source files.

 
A.5.3.1. Example - Static Global Variable
/* mysource.c /*
 
 #include "udf.h"
 
 static real abs_coeff = 1.0; /* static global variable */
  /* used by both functions in this source file but is
   not visible to the outside */
 
 DEFINE_SOURCE(energy_source, c, t, dS, eqn)
 {
   real source; /* local variable
   int P1 = ....; /* local variable
        value is not preserved when function returns */
   dS[eqn] = -16.* abs_coeff * SIGMA_SBC * pow(C_T(c,t),3.);
   source =-abs_coeff *(4.* SIGMA_SBC * pow(C_T(c,t),4.) - C_UDSI(c,t,P1));
   return source;
 }
 
 DEFINE_SOURCE(p1_source, c, t, dS, eqn)
 {
   real source;
   int P1 = ...;
   dS[eqn] = -abs_coeff;
   source = abs_coeff *(4.* SIGMA_SBC * pow(C_T(c,t),4.) - C_UDSI(c,t,P1));
   return source;
 } 



開放分享:優質有限元技術文章,助你自學成才

相關標簽搜索:Udf全局變量-外部變量External Variables,可在不同文件間共享 fluent-udf Fluent培訓 Fluent流體培訓 Fluent軟件培訓 fluent技術教程 fluent在線視頻教程 fluent資料下載 fluent分析理論 fluent化學反應 fluent軟件下載 UDF編程代做 Fluent、CFX流體分析 

編輯
在線報名:
  • 客服在線請直接聯系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復電話,謝謝!
驗證碼

全國服務熱線

1358-032-9919

廣州公司:
廣州市環市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com




主站蜘蛛池模板: 黄色一级视频免费观看 | 国产视频久久 | 久久久久久久99久久久毒国产 | 欧美国产日韩在线观看 | 国产欧美又粗又猛又爽老 | 亚洲日本激情综合在线观看 | 日本一区二区三区免费观看 | 欧美高清性xxxxxxx | 久久精品1| 99久久精品免费国产一区二区三区 | 国产黑色丝袜一区在线 | 欧美视频精品一区二区三区 | 欧美日韩国产色 | 亚洲最新视频在线观看 | 一级网站在线观看 | 一区在线免费观看 | 亚洲欧美日韩专区 | 欧美日韩国产高清视频 | 亚洲综合视频 | 亚欧成人毛片一区二区三区四区 | 青青热久久国产久精品 | 亚洲视频在线观看 | 亚洲欧美色欧另类欧 | 国产欧美综合在线观看第七页 | 一级久久 | 热久久国产 | 国产成人高清亚洲一区久久 | 精品一区二区在线观看 | 久久精品国产精品亚洲毛片 | 美女牲交视频一级毛片 | 亚洲欧美国产精品专区久久 | 欧美v日韩v亚洲v最新 | 日本久热| 免费在线观看一区二区 | 久久精品一区二区影院 | 成人久久久精品乱码一区二区三区 | 国产欧美综合精品一区二区 | 国产精品va一区二区三区 | 欧美另类激情 | 久久精品国产999久久久 | 精品国产不卡一区二区三区 |