Casestudy

离异共晶模块

离异共晶模块

离异共晶模块用于模拟铜合金在特定工艺条件下的离异共晶过程,是深入理解和控制共晶反应的重要工具。离异共晶过程是材料在冷却过程中发生的一种复杂相变,涉及到两种或多种相的同时析出。通过该模块,用户可以模拟不同冷却速率、合金成分和温度梯度下的离异共晶行为,分析共晶组织的形成、演化和最终形态。理解离异共晶过程对于优化铸造工艺、改善材料性能具有重要意义。通过精确控制模拟参数,用户可以研究不同条件下的共晶反应机制,为工业生产提供科学指导。

基本参数说明

parameter
NameNoteRequiredType
T温度,单位开尔文
P界面渗透率,对应固液界面不同元素的界面渗透率数组
Vm摩尔体积
mu界面迁移率
sigma界面能
eta界面厚度
phase
NameNoteRequiredType
liquid液相能量及扩散动力学参数设置MultiComponentCustomPhase
solid_1共晶相一能量及扩散动力学参数设置MultiComponentCustomPhase
solid_2共晶相二能量及扩散动力学参数设置MultiComponentCustomPhase
boundary_condition
NameNoteRequiredType
BC0X边界条件0XZEROFLUX / PERIODIC
BCNX边界条件NXZEROFLUX / PERIODIC
BC0Y边界条件0YZEROFLUX / PERIODIC
BCNY边界条件NYZEROFLUX / PERIODIC
BC0Z边界条件0ZZEROFLUX / PERIODIC
BCNZ边界条件NZZEROFLUX / PERIODIC
nucleation (类型为数组)
flag
NameNoteRequiredDefault
average驱动力平均化开关false
random nucleation随机形核开关false
rotation旋转开关false
anisotropy
NameNoteRequiredType
type各向异性函数的种类
parameters界面能各向异性参数数组
mobility界面迁移率各向异性参数数组
output
NameNoteRequiredType
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": []
    }
}

::