制作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注意此处的给定参考面,是原始铸件的某个横截面,其是在铸造确定时的确定参数。 如何筛选该参考面,由工程经验而定。
此处的参考面类似如参考文献所示:

注意这里所选的参考面是铸件Z方向的一半位置的横截面。
注意当冷热分界面经过这一参考面时,只有在速度取1-2 mm/min时,观测的固液界面斜率近似为0。
注意此时的固液界面并不在(也不需要)冷热分界面或者参考面附近。
alpha_0 \(\alpha_0\)
参考文献可知,对于理想情况,任意固液界面时刻下,其给定方向\(r_i\)的斜率\(k_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个csv或txt文件,其格式一般为:
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)时的系数