mysql集成Qwen大模型MCP计算
题目分析
现有一放射性样品含有5mg 210 P b ^{210}Pb 210Pb ,请计算10年后该样品的放射性活度。
- 已知:
- 核素: 210 P b ^{210}Pb 210Pb (铅-210)。
- 初始质量:5 mg。
- 时间:10年。
- 目标:计算10年后放射性活度(单位:Bq,贝克勒尔)。
- 公式:
- 放射性活度: A = A 0 ⋅ ( 1 2 ) t T 1 / 2 A = A_0 \cdot \left(\frac{1}{2}\right)^{\frac{t}{T_{1/2}}} A=A0⋅(21)T1/2t。
- A 0 A_0 A0:初始活度(Bq)。
- A A A:时间 t t t 后的活度(Bq)。
- T 1 / 2 T_{1/2} T1/2:半衰期(年)。
- t t t:时间(年)。
- 初始活度 A 0 A_0 A0:
- 摩尔数: n = m M n = \frac{m}{M} n=Mm, m m m 为质量(g), M M M 为摩尔质量(g/mol)。
- 原子数: N = n ⋅ N A N = n \cdot N_A N=n⋅NA, N A = 6.022 × 1 0 23 mol − 1 N_A = 6.022 \times 10^{23} \, \text{mol}^{-1} NA=6.022×1023mol−1(阿伏伽德罗常数)。
- 衰变常数: λ = ln ( 2 ) T 1 / 2 \lambda = \frac{\ln(2)}{T_{1/2}} λ=T1/2ln(2)(s⁻¹,用于 Bq)。
- 初始活度: A 0 = λ ⋅ N A_0 = \lambda \cdot N A0=λ⋅N(Bq)。
- 放射性活度: A = A 0 ⋅ ( 1 2 ) t T 1 / 2 A = A_0 \cdot \left(\frac{1}{2}\right)^{\frac{t}{T_{1/2}}} A=A0⋅(21)T1/2t。
- 通用性:数据库和函数需支持任意核素,通过添加数据库记录实现。
- 单位:
- 质量:mg(转换为 g)。
- 时间和半衰期:年。
- 活度:Bq(1 Bq = 1次衰变/秒)。
步骤 1:在 MySQL 中构建核素半衰期数据库
我们将创建一个 MySQL 数据库,存储核素参数,确保数据质量(IAEA 文档第4.4节)并便于与 Python 集成。
1.1 数据库设计
- 数据库:nuclear_decay
- 表:Nuclide
- 字段:
- NuclideID:主键,自增整数。
- Name:核素名称(如 “Pb-210”)。
- HalfLife:半衰期(年)。
- MolarMass:摩尔质量(g/mol)。
- DecayConstant:衰变常数(年⁻¹,预计算为 λ = ln ( 2 ) T 1 / 2
- 字段: