色爱区成人综合网_久久99视频精品_日韩国产欧美一区二区_欧美综合国产_天天碰天天操_欧美片子

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

2022-03-25  by:CAE仿真在線  來(lái)源:互聯(lián)網(wǎng)

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


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 靜態(tài)變量呢?這個(gè)不行

因?yàn)殪o態(tài)變量只在定義他的文件范圍內(nèi)有效,即時(shí)把static定義成external都不行。這點(diǎn)要注意。

但如果累計(jì)的變量一直在同一個(gè)文件內(nèi)部,則就有用了。

如果static變量在一個(gè)function內(nèi)定義,則在文件內(nèi)一直保留,包括他的值也保留。如果在頭部定義,則對(duì)整個(gè)文件一直保留其值。

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;
 } 



開(kāi)放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

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

編輯
在線報(bào)名:
  • 客服在線請(qǐng)直接聯(lián)系我們的客服,您也可以通過(guò)下面的方式進(jìn)行在線報(bào)名,我們會(huì)及時(shí)給您回復(fù)電話,謝謝!
驗(yàn)證碼

全國(guó)服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號(hào)金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點(diǎn)擊咨詢 點(diǎn)擊咨詢
項(xiàng)目QQ咨詢:點(diǎn)擊咨詢
email:[email protected]




主站蜘蛛池模板: 国产精品1页 | 午夜免费高清视频 | 免费在线成人av | 午夜影院免费观看视频 | 中文字幕视频免费观看 | 日本中文一区二区 | 久久噜噜噜精品国产亚洲综合 | 激情欧美一区 | 久久99一区 | 中国黄色在线视频 | 夜夜超碰 | 亚洲欧美日韩精品久久亚洲区 | 日韩在线中文字幕 | 日日夜夜天天干干 | 国产伦精品一区二区三区在线 | 叶山小百合av一区二区 | 国产福利片在线观看 | 欧美一区二区三区在线观看视频 | 日韩精品一二三 | 亚洲在线一区二区 | 久久在线视频 | 欧美精品久久久 | 国产免费无遮挡 | 国产精品嫩草55av | 狠狠躁日日躁夜夜躁东南亚 | 日韩欧美在线观看一区 | 成人一区二区三区久久精品嫩草 | 玖玖色资源 | 国产日韩欧美综合 | 成人精品一区二区三区 | 91社区在线高清 | 国产成人在线播放 | 国产老女人精品毛片久久 | 久久久精品久久久久久 | 青楼18春一级毛片 | а天堂中文最新一区二区三区 | 国产精品成人一区二区 | 国产精品爱久久久久久久 | 国产精品欧美一区二区三区不卡 | 91一区二区 | 精品av|