zoukankan      html  css  js  c++  java
  • Fluent动网格【2】:Profile文件

    动网格中一个重要任务是部件运动方式的指定。在动网格中指定部件的运动,往往将部件的运动方式指定为其加速度、速度或位移与时间的相关关系,本文主要讲述如何在Fluent中利用瞬态Profile文件指定部件的运动方式。

    在Fluent中指定部件运动主要有两种方式:Profile与UDF宏。当运动方程已知时,利用UDF宏指定运动非常方便,然而当需要指定的运动并无任何函数关系时(比如说通过传感器监测得到的速度-时间、加速度-时间曲线),此时利用Profile文件进行运动表述则较为方便。

    Profile文件有三种表述方式:

    • 标准形式
    • 表格形式
    • CSV格式

    需要注意的是:在Fluent中的Profile文件所指定的边界运动均是与时间相关的。只有在动网格中指定了in-cylinder方法时,profile文件才可以指定为角度的函数。关于in-cylinder方法,我们在后面再进行详细描述。

    标准瞬态Profile文件

    标准瞬态Profile文件可表述为以下格式:

    ((profile-name transient n periodic?)
    (field_name_1 a1 a2 a3 ... an)
    (field_name_2 b1 b2 b3 ... bn)
    .
    .
    .
    (field_name_r r1 r2 r3 ... rn)
    )
    

    文件中:

    • profile-name:自定义的 profile名,必须全部为小写字母,且要求小于64个字符
    • field_name:各种场变量,但必须有一行time,且时间变量数据为升序排列
    • transient:为瞬态profile关键字,需要保留
    • n:每一个场变量拥有的数据个数
    • periodic?:表示是否使用时间周期profile,若为1则使用周期,写0或省略则表示不使用周期。

    一个典型的Profile文件示例:

    ((sampleprofile transient 3 0)
     (time  1 2  3 )
     (u  10  20  30 )
    )
    

    标准Profile注意的问题

    • profile中所有的物理量均需要使用国际单位制,软件并不会进行转换
    • 必须有一行为time,可以是任意一行。但如果采用in-cylinder方法,则必须有一行为angle
    • profile名必须为小写字母,且不能包含有空格或其他标点符号
    • 标准形式Profile文件可以通过菜单File →Read →Profile...读取

    表格形式瞬态Profile文件

    表格形式的profile文件与标准形式类似,表述为以下形式:

    profile-name n_field n_data periodic?
    field-name-1 field-name-2 field-name-3 .... field-name-n_field
     v-1-1  v-2-1... ... ... ... v-n_field-1
     v-1-2  v-2-2... ... ... ... v-n_field-2
    .
    .
    .
    .
    .
    v-1-n_data v-2-n_data ... ... ... ... v-n_field-n_data
    

    一个典型示例:

    sampletabprofile 2 3 0
    time u 2 3 0
    1 10
    2 20
    3 30
    

    表格形式profile文件需要注意的问题

    • profile中所有的物理量均需要使用国际单位制,软件并不会进行转换
    • 第一个field_name必须为time。但如果采用in-cylinder方法,则必须为angle
    • profile名必须为小写字母,且不能包含有空格或其他标点符号
    • 标准形式Profile文件可以通过TUI命令file →read-transient-table读取

    CSV格式瞬态文件

    CSV文件是以逗号隔开的数据文件,可以使用excel打开。

    在描述运动过程时,通常采用瞬态csv文件。

    瞬态CSV文件形式如下:

    [Name]
    transient-temperature
    [Data]
    time,temperature
    1.1,300
    1.2,350
    1.3,400
    

    文件可以采用文本文件编辑,保存后修改文件扩展名为CSV。

    上例中的Name与Data是关键字,不可修改。

    time和terperature为变量名,分别为时间和温度。数据列表采用逗号隔开。

    注意:标准形式Profile文件可以通过菜单File →Read →Profile...读取

    profile文件中的物理量

    能用profile表示的物理量很多,在动网格中常用的如:表示位置的变量x,y,z;表示速度的变量v_x,v_y,v_z;表示角速度的变量omega_x,omega_y,omega_z;表示时间的变量time。

    时间步长

    需要注意的是,profile中的数据采用的是线性插值,因此计算过程中采用的时间步长需要低于profile数据时间步长,否则会造成数据信息丢失,尤其是在曲线有曲率存在的位置。

    如下图所示,蓝色线条为大时间步长下得到的值,可以看到在曲率位置并未严格遵守profile指定的规律。

    一个案例

    如果要表示运动函数:

    [v_x=2sin(3t)+5 ]

    时间区间为[0,20],时间步长为0.5s,如果要利用profile来表达,则可以采用如下步骤:

    • step 1:利用excel编辑公式计算数据(这里括号内假设计算得到的是度,将其转化为弧度)

    • step 2:如果采用标准profile文件,需要转置保存数据

    之后将文件保存到文本文件中,并添加其他所需的结构信息。如图所示。

    之后将文件保存为扩展名为prof即可。

    • 若采用表格形式profile文件,则直接保存到文本文件并添加其他的结构信息。

    • 若采用CSV格式,则需要在Excel文件中添加文本信息并保存为CSV格式。

    保存后用文本编辑器打开csv文件。

    需要去掉数据信息后的逗号,如上图中前三行行末尾的逗号。去掉完毕后保存csv文件即可。

  • 相关阅读:
    mysql where中如何判断不为空
    python- with和上下文管理器
    python-面向对象-多态
    python
    python魔术方法- __init__,_new_,_call_,_str_,_repr_,_add_,_getitem_,_getattr_,_bases_,_dict_,_slots_
    jmeter 改变字体大小
    如何提高onenote同步速度?
    win10 中添加快捷方式到开始菜单
    解决win10电脑连上wifi但是无internet访问故障
    安装office2019版本后, vb无法引用Microsoft excel object library和Microsoft word object library 解决办法
  • 原文地址:https://www.cnblogs.com/LSCAX/p/7004405.html
Copyright © 2011-2022 走看看