Skip to content

Commit

Permalink
ss
Browse files Browse the repository at this point in the history
  • Loading branch information
JonathanCauchon committed Nov 26, 2020
1 parent 2803780 commit 0b4d05f
Showing 1 changed file with 17 additions and 26 deletions.
43 changes: 17 additions & 26 deletions ContraDC.py
Original file line number Diff line number Diff line change
Expand Up @@ -255,26 +255,25 @@ def getApodProfile(self):
:return: ContraDC object with calculated apodization profile (self.apod_profile).
"""

if self.apod_profile is None:
z = np.arange(0,self.N_seg)

if self.apod_shape is "gaussian":
if self.a == 0:
apod = self.kappa*np.ones(self.N_seg)
else:
apod = np.exp(-self.a*(z - self.N_seg/2)**2 /self.N_seg**2)
apod = (apod - min(apod))/(max(apod) - min(apod))
apod *= self.kappa

elif self.apod_shape is "tanh":
z = np.arange(0, self.N_seg)
alpha, beta = 2, 3
apod = 1/2 * (1 + np.tanh(beta*(1-2*abs(2*z/self.N_seg)**alpha)))
apod = np.append(np.flip(apod[0:int(apod.size/2)]), apod[0:int(apod.size/2)])
z = np.arange(0,self.N_seg)

if self.apod_shape is "gaussian":
if self.a == 0:
apod = self.kappa*np.ones(self.N_seg)
else:
apod = np.exp(-self.a*(z - self.N_seg/2)**2 /self.N_seg**2)
apod = (apod - min(apod))/(max(apod) - min(apod))
apod *= self.kappa

self.apod_profile = apod
return self
elif self.apod_shape is "tanh":
z = np.arange(0, self.N_seg)
alpha, beta = 2, 3
apod = 1/2 * (1 + np.tanh(beta*(1-2*abs(2*z/self.N_seg)**alpha)))
apod = np.append(np.flip(apod[0:int(apod.size/2)]), apod[0:int(apod.size/2)])
apod *= self.kappa

self.apod_profile = apod
return self


def getChirpProfile(self):
Expand All @@ -292,8 +291,6 @@ def getChirpProfile(self):

if self.polyfit_file is None:



# Waveguide width chirp
if self.w1_profile is None:
if isinstance(self.w1, float):
Expand All @@ -314,13 +311,7 @@ def getChirpProfile(self):
if isinstance(self.period, float):
self.period = [self.period] # convert to list
self.period_profile = np.linspace(self.period[0], self.period[-1], self.N_seg)
# valid_periods = np.arange(self.period[0], self.period[-1] + self.period_chirp_step/100, self.period_chirp_step)

# self.period_profile = np.repeat(valid_periods, round(self.N_seg/np.size(valid_periods)))
# while np.size(self.period_profile) < self.N_seg:
# self.period_profile = np.append(self.period_profile, valid_periods[-1])
# self.period_profile = np.round(self.period_profile, 15)
# self.period_profile = self.period_profile[:self.N_seg+1]

# temperature chirp
if self.T_profile is None:
Expand Down

0 comments on commit 0b4d05f

Please sign in to comment.