Casestudy
溶解模块
溶解模块
溶解模块用于模拟铜合金在固溶过程中第二相的溶解行为,是理解和优化热处理工艺的重要工具。通过该模块,用户可以模拟不同加热温度和保持时间下的溶解过程,预测固溶体的均匀性,了解第二相的溶解机制,有助于优化加热条件,提高材料的均匀性和力学性能。溶解模块提供了详细的参数设置,包括初始微结构、扩散系数,使用户能够精确控制模拟过程,得到符合实际生产需求的结果。
基本参数说明
parameter
| Name | Note | Required | Type |
|---|---|---|---|
| T | 温度,单位开尔文 | ✅ | |
| P | 界面渗透率,对应固液界面不同元素的界面渗透率 | ✅ | 数组 |
| Vm | 摩尔体积 | ✅ | |
| mu | 界面迁移率 | ✅ | |
| sigma | 界面能 | ✅ | |
| eta | 界面厚度 | ✅ |
phase
| Name | Note | Required | Type |
|---|---|---|---|
| parent | 固溶体相能量及扩散动力学参数设置 | ✅ | |
| foster | 第二相能量及扩散动力学参数设置 | ✅ |
boundary_condition
| Name | Note | Required | Type |
|---|---|---|---|
| BC0X | 边界条件0X | ✅ | ZEROFLUX / PERIODIC |
| BCNX | 边界条件NX | ✅ | ZEROFLUX / PERIODIC |
| BC0Y | 边界条件0Y | ✅ | ZEROFLUX / PERIODIC |
| BCNY | 边界条件NY | ✅ | ZEROFLUX / PERIODIC |
| BC0Z | 边界条件0Z | ✅ | ZEROFLUX / PERIODIC |
| BCNZ | 边界条件NZ | ✅ | ZEROFLUX / PERIODIC |
nucleation (类型为数组)
flag
| Name | Note | Required | Default |
|---|---|---|---|
| average | 驱动力平均化开关 | ✅ | false |
| energy | 能量输出开关 | ✅ | false |
| rotation | 旋转开关 | ✅ | false |
anisotropy
| Name | Note | Required | Type |
|---|---|---|---|
| type | 各向异性函数的种类 | ✅ | |
| parameters | 界面能各向异性参数 | ✅ | 数组 |
| mobility | 界面迁移率各向异性参数 | ✅ | 数组 |
output
| Name | Note | Required | Type |
|---|---|---|---|
| output_time | 开始输出时间 | ✅ | |
| initial_interval | 初始输出时间间隔 | ✅ | |
| every_number | 增大输出时间间隔的输出次数 | ✅ | |
| factor | 增大输出时间间隔的输出次数时的倍数 | ✅ | |
| variable | 自定义输出的额外变量 | ✅ | 数组 |
配置文件示例
config.yaml
{
"alpha": {
"element": [
"NI",
"SI"
],
"energy": {
"ncomp": 2,
"type": "CuNiSiNoMagn_Vector_Fcc_A1"
},
"interdiffusivity": {
"type": "ConstantMatrixMultiComponentFunctor_Vector",
"values": [
4.883809e-14,
0.0,
0.0,
9.3669723e-13
]
},
"name": "parent",
"type": "MultiComponentPhase_Vector"
},
"beta": {
"element": [
"NI",
"SI"
],
"energy": {
"type": "ConstantVectorMultiComponentFunctor_Vector",
"values": [
-68499.425,
0.0,
0.0
]
},
"interdiffusivity": {
"type": "ConstantMatrixMultiComponentFunctor_Vector",
"values": [
0.0,
0.0,
0.0,
0.0
]
},
"name": "foster",
"type": "MultiComponentPhase_Vector"
},
"boundary_condition": {
"BC0X": {
"type": "PERIODIC"
},
"BC0Y": {
"type": "PERIODIC"
},
"BC0Z": {
"type": "PERIODIC"
},
"BCNX": {
"type": "PERIODIC"
},
"BCNY": {
"type": "PERIODIC"
},
"BCNZ": {
"type": "PERIODIC"
}
},
"clear": true,
"elements": [
"NI",
"SI",
"CU"
],
"flag": {
"average": true,
"energy": true,
"rotation": false
},
"mesh": {
"current_time": 0.0,
"dt": 0.005,
"dx": 1e-06,
"nx": 32.0,
"ny": 1.0,
"nz": 32.0,
"simulation_time": 100.0
},
"nucleation": [
{
"type": "SetWhole",
"variable": [
{
"value": [
1,
0
],
"varname": "phi"
},
{
"value": [
0.3,
0.22
],
"varname": "c1"
},
{
"value": [
0.29005,
0.164179
],
"varname": "c2"
}
]
},
{
"point": [
16.0,
0.0,
16.0
],
"radius": 6.0,
"smooth": true,
"smooth_variable": "phi",
"type": "SetSphere",
"variable": [
{
"value": [
0,
1
],
"varname": "phi"
},
{
"value": [
0.219005,
0.164179
],
"varname": "c1"
},
{
"value": [
0.219005,
0.164179
],
"varname": "c2"
}
],
"width": 6
}
],
"omp_threads": 9,
"output": {
"every_number": 50,
"factor": 2,
"final_time": 360000.0,
"initial_interval": 1.0,
"output_time": 0,
"variable": []
},
"parameter": {
"P": [
4.1759781e-07,
1.5128e-07
],
"Vm": 1e-05,
"eta": 6e-06,
"mu": 1.754908e-20,
"sigma": 0.322
},
"path": "dissolution_results",
"phase": {},
"temperature": {
"T": 1273.15,
"dTdt": 0.0,
"type": "LinearTemperature"
},
"type": "MultiComponentPhaseField_Stoi_Vector"
}
::