Casestudy

时效析出模块

时效析出模块

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

结果示例

PFCSU Software InterfacePFCSU Software Interface

基本参数说明

parameter
NameNoteRequiredType
T温度,单位开尔文
P界面渗透率,对应固液界面不同元素的界面渗透率数组
Vm摩尔体积
mu界面迁移率
sigma界面能
eta界面厚度
elastic constance弹性常数
transformation stretch本正应变
phase
NameNoteRequiredType
parent固溶体相能量及扩散动力学参数设置
foster析出相能量及扩散动力学参数设置
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
elastic弹性场开关false
energy能量输出开关false
random nucleation随机形核开关false
rotation旋转开关false
anisotropy
NameNoteRequiredType
type各向异性函数的种类
parameters界面能各向异性参数数组
mobility界面迁移率各向异性参数数组
output
NameNoteRequiredType
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"
}

::