Casestudy
离异共晶模块
离异共晶模块
离异共晶模块用于模拟铜合金在特定工艺条件下的离异共晶过程,是深入理解和控制共晶反应的重要工具。离异共晶过程是材料在冷却过程中发生的一种复杂相变,涉及到两种或多种相的同时析出。通过该模块,用户可以模拟不同冷却速率、合金成分和温度梯度下的离异共晶行为,分析共晶组织的形成、演化和最终形态。理解离异共晶过程对于优化铸造工艺、改善材料性能具有重要意义。通过精确控制模拟参数,用户可以研究不同条件下的共晶反应机制,为工业生产提供科学指导。
基本参数说明
parameter
| Name | Note | Required | Type |
|---|---|---|---|
| T | 温度,单位开尔文 | ✅ | |
| P | 界面渗透率,对应固液界面不同元素的界面渗透率 | ✅ | 数组 |
| Vm | 摩尔体积 | ✅ | |
| mu | 界面迁移率 | ✅ | |
| sigma | 界面能 | ✅ | |
| eta | 界面厚度 | ✅ |
phase
| Name | Note | Required | Type |
|---|---|---|---|
| liquid | 液相能量及扩散动力学参数设置 | ✅ | MultiComponentCustomPhase |
| solid_1 | 共晶相一能量及扩散动力学参数设置 | ✅ | MultiComponentCustomPhase |
| solid_2 | 共晶相二能量及扩散动力学参数设置 | ✅ | 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 |
| random nucleation | 随机形核开关 | ✅ | 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
{
"omp_threads": 10,
"type": "Solidification",
"path": "divorced_eutectic",
"clear": true,
"mesh": {
"nx": 200,
"ny": 200,
"nz": 1,
"dx": 1.0e-6,
"dt": 5.0e-6,
"current_time": 0,
"simulation_time": 0.6
},
"parameter":{
"P": [1.0e-6],
"Vm": 1.2e-5,
"mu": [5.0e-11, 5.0e-11, 5.0e-11],
"sigma": 0.6,
"eta": 3.0e-6
},
"dynamic_nucleation":{
"dG_threshold": 1.0e6,
"nucleation_interval": 0.1,
"nucleation_density": 1.0e16,
"Tmax": 775,
"Tmin": 700
},
"temperature":{
"type": "LinearTemperature",
"T": 850,
"dTdt": -200
},
"component": ["Si"],
"phase":[
{
"type": "MultiComponentLinearDiagramLiquid",
"name": "Liquid",
"element": ["Si"],
"D": [3.0e-9]
},
{
"type": "MultiComponentLinearDiagram",
"name": "FCC(Al)",
"element": ["Si"],
"D": [1.5e-13],
"Tm": 933,
"c0": [0],
"ml": [-687],
"ms": [-5576]
},
{
"type": "MultiComponentLinearDiagram",
"name": "DIA(Si)",
"element": ["Si"],
"D": [1.5e-13],
"Tm": 1687,
"c0": [1.0],
"ml": [952],
"ms": [8370]
}
],
"boundary_condition":{
"BC0X": {"type": "PERIODIC"},
"BCNX": {"type": "PERIODIC"},
"BC0Y": {"type": "PERIODIC"},
"BCNY": {"type": "PERIODIC"}
},
"nucleation":[
{
"type": "SetWhole",
"variable":[
{"varname": "phi", "value": [1.0, 0.0, 0.0]},
{"varname": "c", "value": [0.1128, 0.1128, 0.90]}
]
},
{
"type": "RandomNucleation",
"point1": [0, 0, 0],
"point2": [200, 200, 0],
"number": 15,
"radius": 3,
"variable":[
{"varname": "phi", "value": [0.0, 1.0, 0.0]},
{"varname": "c", "value": [0.1128, 0.014, 0.90]}
]
}
],
"anisotropy":{
"nphase": 3,
"pairs": [
{"alpha": 0, "beta": 1, "type": "CubicAnisotropy", "parameters": [0.3], "mobility": [0.3]}
]
},
"output":{
"initial_time": 0,
"final_time": 0.6,
"initial_interval": 1.0e-2,
"maximum_interval": 2.0,
"every_number": 10,
"factor": 2,
"variable": []
}
}
::