制作CatchKAuto配置文件

1. 制作方法

请手动按照配置文件定义,写入1个文本格式的配置文件即可。

建议这一类任务均放入在./Project文件夹内(推荐存放入同一任务的子文件夹,例如./Project/task)。

2. 配置文件定义

配置文件可以参考:

配置文件并不指定配置文件地址,该文件地址需要在CatchKAuto执行时指定,例如:

./Project/task/catchkauto_config.ini

该文件内的配置项与定义如下:

[V]                                 # 速度设置 (单位一般为mm/mim)
max=9                               # 控制中的最大速度,包含单位
min=1                               # 控制中的最小速度,包含单位
step=1                              # 速度离散化时的粒度(即速度变化的间隔),包含单位
base=6                              # 计算时的工艺基准速度
star_0=2                            # 计算时的基准临界速度,临界速度下的斜率k近似为0
alpha_0=0.25                        # 临界速度时的alpha值
r0=18                               # 临界速度下的测定半径(包含单位)

[Granularization]                   # 速度工艺的颗粒化设置
Z_step=10                           # Z值的颗粒化步长
Z_from=0                            # Z值的区间 from->to  
Z_to=230                            
Z_start_gate=50                     # Z值的门限,小于该值则直接归为V_base
Z_stop_gate=215                     # Z值的门限,大于该值则直接归为V_base

[C]                                 # 经典算法所需的参数(开发中的功能)
eta=300000                          # [不影响主计算] 辐射eta
epsilon=0.42                        # [不影响主计算] 辐射eta
T_r=1573                            # [不影响主计算] 辐射eta
T_w_up=1753                         # [不影响主计算] 辐射eta
T_w_down=1273                       # [不影响主计算] 辐射eta
rho=7900                            # [不影响主计算] 辐射eta
DELTA_Hm=225000                     # [不影响主计算] 辐射eta

[theta]                             # (开发中的功能)偏离角控制,单位都是°
max=15                              # 最大偏离角度
min=0                               # 最小偏离角度
target=4.5                          # 目标偏离角度(非优)
times_from_microstructure=1.5

[iterator]                          # 废弃
count=10000
cutoff=0.05

[mix]                               # 废弃
fraction_0=0.5
fraction_1=0.5

[output]                            # 输出配置
file=autok.csv                      # 输出的主要文件地址
file_process=authks.csv             # 输出的最终工艺文件地址
file_to_procast_v=auto2pc.csv       # 输出的适配ProCAST的单工艺文件地址
draw=false                          # 输出后是否对最优工艺曲线绘图?

[input]                             # 输入配置
file=treated.csv                    # 待处理的catchk程序导出的数据
base_constant_draw_start_step=0     # 仿真开始进入抽拉状态的STEP,若仿真从一开始就匀速抽拉,则设为0
procast_project_summary=procast.txt # 目标ProCAST工程文件夹内记录仿真过程的文件(抓时间),具体应当随ProCAST而变
skip_time=0.1666666666666666666     # 每次输出数据相对于速度单位的时间步长(不是迭代时间)

skip_step=30                        # 每次输出的间隔迭代次数
ratio_in_fixed_z_pro=               # 修正速度单位的比例,例如v mm/min, 输出的时间单位 s, 目标换算mm, 那么resultRatio=1/60

3. 配置要点

V/star_0, V/alpha_0, V/r0

这3个参数为关键参数,其详细定义为:

star_0 \(V^*_0\)

  • star_0: 速度 \(V^*_0\),该定向铸件的给定参考面,以该\(V^*_0\)速度恒定抽拉时,可保证冷热分界面穿过给定参考面时,此时观测的固液界面斜率近似为0
    注意此处的给定参考面,是原始铸件的某个横截面,其是在铸造确定时的确定参数。
    如何筛选该参考面,由工程经验而定。
    

此处的参考面类似如参考文献所示:

img.png

注意这里所选的参考面是铸件Z方向的一半位置的横截面。

注意当冷热分界面经过这一参考面时,只有在速度取1-2 mm/min时,观测的固液界面斜率近似为0。

    注意此时的固液界面并不在(也不需要)冷热分界面或者参考面附近。

alpha_0 \(\alpha_0\)

参考文献可知,对于理想情况,任意固液界面时刻下,其给定方向\(r_i\)的斜率\(k_i\),可以表示为:

\[ k_i = 2 \frac{\Delta S}{r_i l(z)} \frac{\delta l_i}{\delta x_i} \frac{1}{V^*} V - 2 \frac{\Delta S}{r_i l(z)} \frac{\delta l_i}{\delta x_i} \]
\[ k_i = alpha_0 \frac{1}{V^*} V - \alpha_0 \]
\[ \alpha_0 = 2 \frac{\Delta S}{r_i l(z)} \frac{\delta l_i}{\delta x_i} \]

因此可以看到,\(\alpha_0\)是1个无量纲因子,其代表了\(z=z_i\)时,铸件横截面的几何特征。

因而,用户可以依据定义来赋值。

需要说明,对于手动变速计算,该值需要指定,一般选择参考面的\(\alpha_0\)

若对于自动分段变速,则该值可赋任意有效值(其真值将在计算时自动处理)。

r0 \(r_0\)

此处的\(r_0\)就是CatchK的设置中, 铸件横截面中点指向Point/RDirection方向的等效半径值,单位为mm。

  • 您可以使用该方向的近似几何半径

C/theta/iterator/mix

这些组的参数是历史遗留问题,CatchKAuto的代码中还包含了其它用途,故而需要这些配置。

然而,这些配置并没有影响最终所认定的变速计算过程,但其在一些数据io中会被检查。

故而,用于仅需将这些参数组按照模板复制到你的配置即可,你不需要修改其中的内容,直至这些问题被更新或处理。

再次强调,这些组并不会影响变速计算,但作为软件的执行检查环节,它们必须设置。

input/procast_project_summary

这是1个在ProCAST的输出文件夹内,一般情况与*.vdb同名的1个csvtxt文件,其格式一般为:

Step      Iteration            Time              DT           %fill          %Solid      cycle_%completion    cycle_num       user_time      system_time     wall_clock     
0             0       0.000e+00       1.000e-03       0.000e+00       0.000e+00       0.000e+00               0       3.609e+00       0.000e+00               4
1             5       1.000e-03       1.000e-03       9.800e+01       0.000e+00       0.000e+00               0       9.609e+00       0.000e+00              10
2             2       1.500e-03       5.000e-04       9.800e+01       0.000e+00       0.000e+00               0       1.025e+01       0.000e+00              11
3             2       2.500e-03       1.000e-03       9.800e+01       0.000e+00       0.000e+00               0       1.050e+01       0.000e+00              11
4             1       4.500e-03       2.000e-03       9.800e+01       0.000e+00       0.000e+00               0       1.091e+01       0.000e+00              12
5             1       8.500e-03       4.000e-03       9.800e+01       0.000e+00       0.000e+00               0       1.156e+01       0.000e+00              12
6             1       1.650e-02       8.000e-03       9.800e+01       0.000e+00       0.000e+00               0       1.180e+01       0.000e+00              13
7             1       3.250e-02       1.600e-02       9.800e+01       0.000e+00       0.000e+00               0       1.233e+01       0.000e+00              13
8             1       6.450e-02       3.200e-02       9.800e+01       0.000e+00       0.000e+00               0       1.253e+01       0.000e+00              14
9             1       1.194e-01       5.486e-02       9.800e+01       0.000e+00       0.000e+00               0       1.291e+01       0.000e+00              14
10            1       1.730e-01       5.363e-02       9.800e+01       0.000e+00       0.000e+00               0       1.380e+01       0.000e+00              15
11            1       2.803e-01       1.073e-01       9.800e+01       0.000e+00       0.000e+00               0       1.447e+01       0.000e+00              16
12            4       4.948e-01       2.145e-01       9.800e+01       3.588e-02       0.000e+00               0       1.480e+01       0.000e+00              16
13            3       6.020e-01       1.073e-01       9.800e+01       4.780e-02       0.000e+00               0       1.505e+01       0.000e+00              16
14            1       6.557e-01       5.363e-02       9.800e+01       5.053e-02       0.000e+00               0       1.534e+01       0.000e+00              16
15            1       7.629e-01       1.073e-01       9.800e+01       5.458e-02       0.000e+00               0       1.594e+01       0.000e+00              17
16            1       9.775e-01       2.145e-01       9.800e+01       6.105e-02       0.000e+00               0       1.614e+01       0.000e+00              17
......

input/skip_time

在使用CatchK导出时,间隔的STEP步长,对应速度的时间单位的值。

例如:

CatchK导出环节,间隔30步导出1次,而每1步在稳态时间隔1s,30步就是30s
CatchK与CatchKAuto一般采用的速度单位设置是mm/min,其时间单位是min
因此此时skip_time的单位是min,其间隔30步骤=30s,即此处应设置为0.5

input/ratio_in_fixed_z_pro

修正速度单位的比例,例如v mm/min, 输出的时间单位 s, 目标换算mm, 那么resultRatio=1/60。

  • procast_project_summary的时间单位换算为变速所采用的速度的时间单位(mm/min=>min)时的系数