Casestudy
时效析出模块
时效析出模块
时效析出模块用于模拟铜合金在时效处理过程中的析出行为,旨在帮助优化时效处理工艺,以获得优良的机械性能。通过这一模块,用户可以研究时效过程中析出相的形核、长大和聚集行为,以此进行析出相的形态、尺寸和分布对基体材料的强化作用。该模块能够模拟不同时效温度和时间条件下的微观结构演化,为优化合金的时效工艺提供科学依据。理解析出相的形成和演化机制,对于提高合金的强度、硬度和延展性具有重要意义。时效析出模块是材料科学研究和工业应用中的重要工具,能够显著提升铜合金的性能。
结果示例


基本参数说明
parameter
| Name | Note | Required | Type |
|---|---|---|---|
| T | 温度,单位开尔文 | ✅ | |
| P | 界面渗透率,对应固液界面不同元素的界面渗透率 | ✅ | 数组 |
| Vm | 摩尔体积 | ✅ | |
| mu | 界面迁移率 | ✅ | |
| sigma | 界面能 | ✅ | |
| eta | 界面厚度 | ✅ | |
| elastic constance | 弹性常数 | ✅ | |
| transformation stretch | 本正应变 | ✅ |
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 |
| elastic | 弹性场开关 | ✅ | false |
| energy | 能量输出开关 | ✅ | 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 | 增大输出时间间隔的输出次数时的倍数 | ✅ | |
| dg elastic time | 弹性场求解间隔 | ✅ | |
| variable | 自定义输出的额外变量 | ✅ | 数组 |
配置文件示例
config.yaml
{
"alpha": {
"element": [
"Ni",
"Si"
],
"energy": {
"mdinterp": "eac9df8a50c864d2944418f1e97f9882.mdinterp",
"ncomp": 2,
"ninput": 3,
"ntarget": 3,
"type": "MDInterpFunctor_Vector"
},
"interdiffusivity": {
"type": "ConstantMatrixMultiComponentFunctor_Vector",
"values": [
1.1463699e-18,
-9.1756952e-21,
-8.5724061e-21,
4.1528679e-21
]
},
"name": "parent",
"type": "MultiComponentPhase_Vector"
},
"beta": {
"element": [
"Ni",
"Si"
],
"energy": {
"type": "ConstantVectorMultiComponentFunctor_Vector",
"values": [
-65999.794,
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,
"elastic": {
"elastic_constant": [
{
"C11": 168400000000.0,
"C12": 121400000000.0,
"C44": 75400000000.0,
"type": "CubicElasticProperty"
},
{
"C11": 289625000000.0,
"C12": 142600000000.0,
"C13": 185825000000.0,
"C15": 5275000000.0,
"C22": 219900000000.0,
"C23": 142600000000.0,
"C25": 1200000000.0,
"C33": 289625000000.0,
"C35": 5275000000.0,
"C44": 62450000000.0,
"C46": 3650000000.0,
"C55": 88325000000.0,
"C66": 62450000000.0,
"type": "ElasticProperty"
}
],
"transformation_stretch": [
{
"value": [
1.0,
0.0,
0.0,
0.0,
1.0,
0.0,
0.0,
0.0,
1.0
]
},
{
"value": [
1.125,
0.0,
-0.102,
0.0,
1.003,
0.0,
-0.102,
0.0,
1.125
]
}
]
},
"elements": [
"Ni",
"Si",
"Cu"
],
"flag": {
"average": true,
"elastic": true,
"energy": true,
"random_nucleation": true,
"rotation": false
},
"mesh": {
"current_time": 0.0,
"dt": 0.005,
"dx": 5e-10,
"nx": 800,
"ny": 1,
"nz": 800,
"simulation_time": 10
},
"nucleation": [
{
"type": "SetWhole",
"variable": [
{
"value": [
1,
0
],
"varname": "phi"
},
{
"value": [
0.0162,
0.0077
],
"varname": "c1"
},
{
"value": [
0.6666,
0.3334
],
"varname": "c2"
}
]
}
],
"nucleation_rate": {
"N0": 3.85e+22,
"time_step": 0.5
},
"omp_threads": 1,
"output": {
"dg_elastic_time": 100,
"every_number": 50,
"factor": 2,
"final_time": 360000.0,
"initial_interval": 1.0,
"output_time": 0,
"variable": []
},
"parameter": {
"P": [
4.2e-09,
1.5e-11
],
"Vm": 1e-05,
"eta": 3e-09,
"mu": 1.75491e-23,
"sigma": 0.22
},
"path": "aging_results",
"phase": {},
"temperature": {
"T": 723.15,
"dTdt": 0.0,
"type": "LinearTemperature"
},
"type": "MultiComponentPhaseField_Stoi_Vector"
}
::