二维胶粒设计

In [1]:
from deplete.segm import *
from deplete.colloids import *
from deplete.curve import Curve

# Triangular colloids

more ...

二维胶粒的耗尽力

# 基本数据结构

  • 曲线由分段圆弧组成
  • 直线可以看作是一种特殊的半径为无穷大的圆弧

# 优良性质

引理 分段圆弧扩展之后的曲线依然是分段圆弧

  • 直线扩展后还是直线
  • 半径为$R$的圆扩展$d$后是半径为$R+d$的圆
  • 转接点扩展$d$后产生的新的曲线是圆$d$
  • 综上,无论怎么扩展,扩展前后曲线类型不变
more ...

Energy of Electrostatic Field in a Triangle

Energy of a triangle

For a triangle \(ABC\), assume the points have potential \(\varphi_a,\varphi_b,\varphi_c\). As shown in Fig. ???, \(AB'\perp AC, AC' …

more ...

Integrable Constraint

In N dimension,

$$\begin{aligned} \bm f\times\bm g&\rightarrow f_a\times g_b=[f_ag_b]_{ab}\\ \bm f …
more ...

NaCl离子晶体晶格能的研究

这是我的大一化学原理小论文

离子晶体晶格能,主要成分为静电势能,计算出每个离子的电势能后就可以估算出其晶格能。由于晶体结构是无限延伸的,所以必然要求一些无穷级数的和。这个级数难以求出精确值。由实际意义知其必然收敛,因此可以用计算机进行相应计算。对于NaCl晶体,设相邻异性离子产生的电势能为$E_0$,$E_1$是某个离子和其他离子作用的电势能。定义Madelung常数$k=E_1/E_0$。编写C语言程序计算出$$k=1.74756459463, \quad E_1=kE_0=-8.95\rm{eV}$$

设晶体有$2N$个离子,则总能量为$NE_1$

#include <stdio.h>
#include <math.h>
#define N 1000//计算的层数
int main(){
    double a=0.,b=0.,c=0.,s=0.,t=0.;
    int m, i, j;
    for(m=1; m<N+1; m++){
        a=(1-(m%2)*2)/(double)m;//*6 面
        b=(1-(m%2)*2)/sqrt(3*m*m);//*8 点
        c=1/sqrt(2*m*m);//*12 边
        for(i=1;i<m;i++){
            for(j=0;j<m;j++){
                a+=4*(1-((m+i+j)%2)*2)/sqrt(m*m+i*i+j*j);//*24
            }
            c+=2*(1-(i%2)*2)/sqrt(2*m*m+i*i);
        }
        t=a*6+b*8+c*12;
        if (m%10 == 0){
            printf("t[%4d]=%9lf\t\ts=%.15lf\t\ts2=%lf\n",m,t,s+a*3+b+c*3,s+t);
        }
        s+=t;
    }
    s=s-t+a*3+b+c*3;
    printf("s[%4d]=%.15lf\n", N, s);
    return 0;
}
more ...