Materialien/Dielektrizitätszahl.py
2025-01-28 21:18:43 +01:00

95 lines
2.5 KiB
Python

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())