我正在使用 fipy 对线性化Poisson-Boltzmann 方程进行建模,这本质上是
我假设我可以建模f(x)
为边界条件。如果epsilon(x)
是一个常数,fipy 可以处理这个:
phi = CellVariable(mesh)
dielectric_solvent = 80.0
dielectric_inner = 4.0
LHS = (DiffusionTerm(coeff = dielectric_solvent))
RHS = phi
eq = LHS == RHS
dr = np.linalg.norm(mesh.faceCenters, axis=0)
mask = (dr<.5) * mesh.exteriorFaces
phi.constrain(1, mask)
mask = (dr>.5) * mesh.exteriorFaces
phi.constrain(0, mask)
sol = eq.solve(var=phi)
给予:
完整的最小示例作为要点发布,为了简短起见,这是相关部分。
我想做的是让epsilon(x)
变量作为空间函数,但DiffusionTerm
只能取一个常数。如何实现空间变化的介电项?