Skip to content

Commit ae49c17

Browse files
author
Matthew Townson
authored
Merge pull request #64 from AOtools/infinite_screen_seed_fix
Fix bug, where seed in infinite screen had no effect
2 parents c93ef2d + 75b91b0 commit ae49c17

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

aotools/turbulence/infinitephasescreen.py

+11-1
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,15 @@ def make_initial_screen(self):
178178
Makes the initial screen usign FFT method that can be extended
179179
"""
180180

181+
# phase screen will make it *really* random if no seed at all given.
182+
# If a seed is here, screen must be repeatable wiht same seed
183+
if self.random_seed is not None:
184+
seed = numpy.random.randint(0, 2**32 -1)
185+
else:
186+
seed = None
187+
181188
self._scrn = phasescreen.ft_phase_screen(
182-
self.r0, self.stencil_length, self.pixel_scale, self.L0, 1e-10
189+
self.r0, self.stencil_length, self.pixel_scale, self.L0, 1e-10, seed=seed
183190
)
184191

185192
self._scrn = self._scrn[:, :self.nx_size]
@@ -274,6 +281,8 @@ def __init__(self, nx_size, pixel_scale, r0, L0, random_seed=None, n_columns=2):
274281
self.stencil_length_factor = 1
275282
self.stencil_length = self.nx_size
276283

284+
self.random_seed = random_seed
285+
277286
if random_seed is not None:
278287
numpy.random.seed(random_seed)
279288

@@ -380,6 +389,7 @@ def __init__(self, nx_size, pixel_scale, r0, L0, random_seed=None, stencil_lengt
380389
self.L0 = L0
381390
self.stencil_length_factor = stencil_length_factor
382391
self.stencil_length = stencil_length_factor * self.nx_size
392+
self.random_seed = random_seed
383393

384394
if random_seed is not None:
385395
numpy.random.seed(random_seed)

0 commit comments

Comments
 (0)