import numpy as np
import sympy as sp
def Equation1( b_1, n_0, n_1, n_2, mode_n ):
k_0 = 1./1550e-9
n_eff2 = sp.symbols("n_eff2")
K_y = (abs(k_0**2*n_1**2 - k_0**2*n_eff2**2))**0.5
p_y = (abs(k_0**2*n_eff2**2 - k_0**2*n_0**2))**0.5
q_y = (abs(k_0**2*n_eff2**2 - k_0**2*n_2**2))**0.5
eq = sp.atan(K_y/p_y) + sp.atan(K_y/q_y) - (K_y*b_1)
return sp.nsolve(eq, n_eff2, 3.2)
def Cal_Ex_MODE_neff( a, b_1, b_2, n_0, n_1, n_2, n_3, mode_m, mode_n ):
print(Equation1(b_1, n_0, n_1, n_2, mode_n))
if __name__ == "__main__":
n_0 = 3.1
n_1 = 3.3
n_2 = 1.44
n_3 = 3.1
a = 1.5e-6
b_1 = 500e-9
b_2 = 1000e-9
mode_n = 1
k_0 = 1./1550e-9
Cal_Ex_MODE_neff(
a=a,
b_1=b_1,
b_2=b_2,
n_0=n_0,
n_1=n_1,
n_2=n_2,
n_3=n_3,
mode_m=0,
mode_n=0
)
Python解方程demo:sympy
最新推荐文章于 2025-08-03 11:35:19 发布