資源簡介
基于Fluent軟件平臺,采用C語言編寫UDF(User defined function)模擬圓柱振子在不同流速的風作用下的橫向振動。采用Newmark-β方法求解結構運動方程,通過調節γ和β基本能得到較好結果。
代碼片段和文件信息
#include?“udf.h“
static?real?x_prev=0;
static?real?x_cur=0;
static?real?v_prev=0;
static?real?v_cur=0;
static?real?a_prev=0;
static?real?a_cur=0;
static?double?a[30000];
#define?d_t?0.0005
DEFINE_EXECUTE_AT_END(execute_at_end)
{???????
????real?m?c?k;????
????real?f_glob[ND_ND]m_glob[ND_ND]x_cg[ND_ND];????
????real?time?=?RP_Get_Real(“flow-time“);????
????m?=?7.634;????
????c?=?4.95;????
????k?=?43398;????
????x_cg[0]?=?0;????
????x_cg[1]?=?x_cur?+?v_cur*d_t;
????
????if?(!Data_Valid_P())????????
???? return;
????
????Domain?*domain?=?Get_Domain(1);??//return?fluid?domain????
????Thread?*tf1?=?Lookup_Thread(domain14);????
????Compute_Force_And_Moment?(domain?tf1?x_cg?f_glob?m_glob?TRUE);????
????real?lift?=?f_glob[1];??//get?current?lift?force????
????
????real?beta?=?0.25;????
????real?gamma?=?0.25;????
????real?p1?=?1/(gamma*d_t*d_t);????
????real?p2?=?beta/(gamma*d_t);????
??
- 上一篇:KMP算法C語言程序
- 下一篇:高精度加法(c++代碼)
評論
共有 條評論