Old high school files. Lessson notes/codes/projects etc.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hsf/mas/shrodequ_superpos/phys/quantum_systems.py

41 lines
1.0 KiB

#from phys.particle import particle
import numpy as np
class quantum_system:
def __init__(self, name: str):
self.name = name
self.particles = []
def add_particle(self, particle):
self.particles.append(particle)
print(f"Added particle {particle} to quantum system '{self.name}' ({self})")
class infbox(quantum_system):
def __init__(self, length: float):
super().__init__("Inf Box")
self.length = length
self.norm_factor = np.sqrt(2/self.length)
3 years ago
def get_superpos(self, x, t) -> float:
waves = []
for part in self.particles:
waves.append( part.wave(x, t) )
superpos_wave = sum(waves)
# normalize the superpos #TODO: ?????
# superpos_wave *= 1/abs(superpos_wave)
3 years ago
# superpos_wave = np.exp(superpos_wave)
return abs(superpos_wave) ** 2
3 years ago
def plot_superpos(self, X, T):
plots = {}
for x in X:
for t in T:
plots[(x, t)] = self.get_superpos(x, t)
return plots