Skip to content
import numpy as np
import math
import matplotlib.pyplot as plt

# Constants
epsilon_0 = 8.854e-12  # Permittivity of free space (F/m)
L = 0.01  # Length over which the distance changes (m)
A = math.pi*(L/2)**2  # Area of the plates (m^2)
d_min = 2.5e-5  # Minimum distance between plates (m)
d_max = 4e-5  # Maximum distance between plates (m)
d_constant = (d_max+d_min)/2  # Constant distance between plates for the ideal case (m)

# Function to calculate distance between plates as a function of position x
def d_x(x, L, d_min, d_max):
    return d_min + (d_max - d_min) * (x / L)

# Function to calculate capacitance as a function of x position for variable distance
def capacitance_function_variable(x, epsilon_0, A, L, d_min, d_max):
    d = d_x(x, L, d_min, d_max)
    return epsilon_0 * A / d

# Function to calculate capacitance for constant distance (ideal capacitor)
def capacitance_function_constant(epsilon_0, A, d):
    return epsilon_0 * A / d

# Generate x values
x_values = np.linspace(d_min, d_max, 500)
delta = d_max-d_min
# Calculate capacitance values for the range of x for variable distance
capacitance_values_variable = capacitance_function_variable(x_values, epsilon_0, A, L, d_min, d_max)

# Calculate capacitance for the constant distance
capacitance_constant = capacitance_function_constant(epsilon_0, A, d_constant)

# Plotting the capacitance as a function of x for both cases
plt.figure(figsize=(10, 6))

plt.plot(x_values, capacitance_values_variable, label='Capacitance vs x (Variable Distance)', color='blue')

plt.title('Capacitance as a Function of Position x')
plt.xlabel('Position x (m)')
plt.ylabel('Capacitance (F)')
plt.yscale('log')
plt.grid(True, which="both", ls="--")
plt.legend()
plt.show()