import sympy from sympy import * from sympy import symbols from sympy.physics.units import e0 er, A, dx1, dx2, dL, er1, er2, cs1, cs2 = symbols('er A dx1 dx2 dL er1 er2 cs1 cs2') # Gleichungen 2.26 aufloesen nach er und gleichsetzen eqn = Eq(solve(er * (1 + dL / dx1) / (1 + er * dL / dx1) - er1, er)[0], solve(er * (1 + dL / dx2) / (1 + er * dL / dx2) - er2, er)[0]) # print("Gleichungen 2.26 nach er aufloesen und gleichsetzen :") # print(eqn) # print() # Term aufloesen nach dL solution = solve(eqn, dL)[0] # Term vereinfachen # solution = simplify(solution) # Term mit dL gleichsetzen um eine Gleichung zu erhalten eqn_2_27 = Eq(dL, simplify(solution)) # print("Gleichung 2.27") print("Gleichung 2.27", eqn_2_27) # print(solution) # Gleichung 2.26 eqn = Eq(er * (1 + dL / dx1) / (1 + er * dL / dx1), er1) # Loesung fuer dL in Gleichung einsetzen und vereinfachen eqn = simplify(eqn.subs(dL, solution)) # print("Gleichung 2.27 in 2.26 einsetzen") # print(eqn) # Gleichung nach er aufloesen und Term vereinfachen expr = simplify(solve(eqn, er)[0]) # print("Gleichung nach er aufloesen und vereinfachen") # print(expr) # Gleichung 2.28 eqn_2_28 = Eq(er, expr) # print("Gleichung 2.28") print("Gleichung 2.28", eqn_2_28) def get_param(dx1_value, dx2_value, cs1_value, cs2_value): # Geometrische Parameter und Werte d = 100e-3 # Durchmesser # Fläche A_value = sympy.pi * (d / 2) ** 2 # Vakuumpermittivität e0_value = 8.854187817e-12 # Berechnung von er1 und er2 er1_expr = cs1 * dx1 / (A * e0_value) er2_expr = cs2 * dx2 / (A * e0_value) print("er1", er1_expr.subs({ cs1: cs1_value, dx1: dx1_value, A: A_value, e0: e0_value }).evalf()) print("er2", er2_expr.subs({ cs2: cs2_value, dx2: dx2_value, A: A_value, e0: e0_value }).evalf()) # Beispielparameter im Dictionary param = { A: A_value, cs1: cs1_value, cs2: cs2_value, dx1: dx1_value, dx2: dx2_value, er1: er1_expr.subs({ cs1: cs1_value, dx1: dx1_value, A: A_value, e0: e0_value }), er2: er2_expr.subs({ cs2: cs2_value, dx2: dx2_value, A: A_value, e0: e0_value }) } return param param = get_param(dx1_value=5e-3, dx2_value=10e-3, cs1_value=49.87e-12, cs2_value=26.84e-12) print(eqn_2_27.subs(param).evalf()) print(eqn_2_28.subs(param).evalf()) print() param = get_param(dx1_value=1e-3, dx2_value=3.5e-3, cs1_value=121.28e-12, cs2_value=43.47e-12) print(eqn_2_27.subs(param).evalf()) print(eqn_2_28.subs(param).evalf())