Casestudy
凝固模块
凝固模块
凝固模块用于模拟铜合金在冷却过程中的凝固行为,能够详细预测微观结构的演化。通过这一模块,用户可以模拟枝晶的形成与长大过程,分析冷却速度对枝晶形态和尺寸以及多个枝晶相互的影响。这对于理解铸造工艺、预测合金性能和优化生产流程具有重要意义。凝固过程中,合金的成分分布和偏析现象会显著影响材料的最终性能。通过调节初始温度、冷却速率和形核率等参数,用户可以模拟不同的工艺条件,探索最佳的铸造工艺方案。凝固模块为科学研究和工业应用提供了一个强大的工具。
结果示例


基本参数说明
parameter
| Name | Note | Required | Type |
|---|---|---|---|
| T | 温度,单位开尔文 | ✅ | |
| P | 界面渗透率,对应固液界面不同元素的界面渗透率 | ✅ | 数组 |
| Vm | 摩尔体积 | ✅ | |
| mu | 界面迁移率 | ✅ | |
| sigma | 界面能 | ✅ | |
| eta | 界面厚度 | ✅ |
phase
| Name | Note | Required | Type |
|---|---|---|---|
| liquid | 液相能量及扩散动力学参数设置 | ✅ | MultiComponentCustomPhase |
| solid | 固相能量及扩散动力学参数设置 | ✅ | MultiComponentCustomPhase |
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 |
| roation | 时候转动晶粒 | ✅ | false |
anisotropy
| Name | Note | Required | Type |
|---|---|---|---|
| type | 各向异性函数的种类 | ✅ | |
| parameters | 界面能各向异性参数 | ✅ | 数组 |
| mobility | 界面迁移率各向异性参数 | ✅ | 数组 |
output
| Name | Note | Required | Type |
|---|---|---|---|
| output_time | 待补充 | ✅ | |
| initial_interval | 初始输出时间间隔 | ✅ | |
| every_number | 增大输出时间间隔的输出次数 | ✅ | |
| factor | 增大输出时间间隔的输出次数时的倍数 | ✅ | |
| variable | 自定义输出的额外变量 | ✅ | 数组 |
temperature
| Name | Note | Required | Type |
|---|---|---|---|
| T | 温度 | ✅ | |
| dTdt | 温变速率 | ✅ | |
| dTdx/dTdy/dTdz | 温度梯度 | ✅ |
配置文件示例
config.yaml
{
"alpha": {
"element": [
"SI",
"NI"
],
"energy": {
"mdinterp": "D:/PFCSU/phispire/test/.stores/57042083d4ed206b319be0180bea6f13.mdinterp",
"ncomp": 2,
"ninput": 3,
"ntarget": 3,
"type": "MDInterpFunctor_Vector"
},
"interdiffusivity": {
"type": "ConstantMatrixMultiComponentFunctor_Vector",
"values": [
4.636237609126011e-09,
0.0,
0.0,
3.1347997340392758e-09
]
},
"name": "liquid",
"type": "MultiComponentPhase_Vector"
},
"anisotropy": {
"mobility": [
0.5
],
"parameters": [
0.5
],
"type": "CubicAnisotropyYang"
},
"beta": {
"element": [
"SI",
"NI"
],
"energy": {
"mdinterp": "D:/PFCSU/phispire/test/.stores/8becd2bcb0422af1d9bcfbb3f10c8714.mdinterp",
"ncomp": 2,
"ninput": 3,
"ntarget": 3,
"type": "MDInterpFunctor_Vector"
},
"interdiffusivity": {
"type": "ConstantMatrixMultiComponentFunctor_Vector",
"values": [
1.98172e-13,
-1.14452e-13,
-1.78916e-13,
1.41911e-12
]
},
"name": "solid",
"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": [
"SI",
"NI",
"CU"
],
"flag": {
"SPF": false,
"average": true,
"elastic": false,
"energy": true,
"moving_frame": false,
"roation": false
},
"mesh": {
"current_time": 0.0,
"dt": 1e-06,
"dx": 1e-06,
"nx": 200.0,
"ny": 200.0,
"nz": 1.0,
"simulation_time": 3.0
},
"nucleation": [
{
"type": "SetWhole",
"variable": [
{
"value": [
1,
0
],
"varname": "phi"
},
{
"value": [
0.0162,
0.0077
],
"varname": "c1"
},
{
"value": [
0.01835414,
0.0051839987
],
"varname": "c2"
}
]
},
{
"point": [
100.0,
100.0,
0.0
],
"radius": 4.0,
"smooth": true,
"smooth_variable": "phi",
"type": "SetSphere",
"variable": [
{
"value": [
0,
1
],
"varname": "phi"
},
{
"value": [
0.01835414,
0.0051839987
],
"varname": "c1"
},
{
"value": [
0.01835414,
0.0051839987
],
"varname": "c2"
}
],
"width": 6
}
],
"omp_threads": 24,
"output": {
"every_number": 50,
"factor": 2,
"final_time": 360000.0,
"initial_interval": 0.001,
"output_time": 0,
"variable": [
"dG"
]
},
"parameter": {
"P": [
1.92188057302129e-07,
1.37625897704027e-07
],
"Vm": 1e-05,
"disturbance": 0.0,
"eta": 6e-06,
"max_tip_length": 200.0,
"mu": 3.6029977398687324e-10,
"sigma": 0.24
},
"path": "D:/PFCSU/phispire/test/9f0305530efc90d561561fb813757c0b/results",
"phase": {},
"temperature": {
"T": 1358.15,
"dTdt": -1.0,
"dTdx": 0.0,
"dTdy": 0.0,
"dTdz": 0.0,
"type": "LinearTemperature"
},
"type": "MultiComponentPhaseField_Vector"
}
::