comsol针尖刺穿表皮细胞数值模拟,可以得到组织细胞浓度分布及电磁场分布,
最近在搞生物电穿孔的模拟,拿COMSOL折腾了个针尖刺穿表皮细胞的模型。这玩意儿能同时看到细胞被扎穿时的离子浓度变化和电场分布,特别适合研究微针给药时的细胞响应。直接上干货,说说模型里几个有意思的设置。
先整几何模型,针尖得足够尖才能穿透细胞膜。用参数化建模最省事:
// 圆锥形针尖参数 double tipAngle = 15; // 锥角(度) double tipRadius = 50e-9; // 针尖曲率半径(m) model.geom("geom1").feature().create("cone1", "Cone"); model.geom("geom1").feature("cone1").set("radius", tipRadius); model.geom("geom1").feature("cone1").set("height", tipRadius/Math.tan(tipAngle*Math.PI/180));这里用纳米级曲率半径模拟真实针尖,锥角太小会导致电场过于集中,算到一半就发散给你看。建议先试算15度左右的参数。
物理场耦合才是重头戏,电流传导和稀物质传递得联动:
// 多物理场设置 model.physics.create("ec", "ConductiveMedia", "geom1"); model.physics.create("t", "TransportOfDilutedSpecies", "geom1"); model.physics("t").feature("c1").set("u", "ec.u"); // 速度场来自电势梯度 model.physics("t").feature("c1").set("D", "D0*(1+alpha*ec.E_mag)"); // 电场增强扩散这里藏了个骚操作——扩散系数D和电场强度挂钩。实验发现电穿孔后细胞膜通透性剧增,用alpha=0.5这样的经验系数能更好拟合实测数据。
comsol针尖刺穿表皮细胞数值模拟,可以得到组织细胞浓度分布及电磁场分布,
边界条件要玩点花的,细胞膜用薄层边界:
// 细胞膜边界 model.physics("ec").feature.create("surf1", "SurfaceCurrent", 2); model.physics("ec").feature("surf1").set("Jsurf", "sigma_mem*(V_outer - V_inner)/d_mem");这种处理方式把细胞膜等效为导电薄层,用膜厚dmem=5nm、电导率sigmamem动态变化来模拟电穿孔过程。穿孔程度超过阈值时让sigma_mem瞬间飙高三个数量级,这招能让计算结果出现明显的击穿拐点。
后处理时发现个有趣现象,用切面云图+流线组合最带劲:
with model.result() as res: res.dataset('dset1').times(0.1) # 取0.1秒时刻 res.plot().create('slc1', 'Slice') res.plot('slc1').data('c') # 显示浓度分布 res.plot().create('str1', 'Streamline') res.plot('str1').set('vel', 'ec.E') # 电场方向流线这么一搞就能看到带电粒子沿着电场线运动,在针尖周围形成漩涡状的浓度梯度。有个坑要注意——流线种子点别直接放在针尖处,电场太强会算出一堆发散的线头。
模拟结果跟文献里的阻抗变化曲线对得上,证明这模型靠谱。下次试试把温度场也耦合进来,看看电穿孔时的局部发热会不会影响药物输送效率。搞数值模拟就像拼乐高,物理场模块随便搭,指不定能整出什么新发现。