def run_chi_scan_1d(): extra_model_kwargs = { 'rho_0': 0.5, 'onesided_flag': True, 'origin_flag': True, } model_kwargs = dict(default_model_1d_kwargs, **extra_model_kwargs) t_output_every = 1000.0 t_upto = 4e4 chis = np.linspace(0.0, 6.0, 28) force_resume = True parallel = True model_kwarg_sets = [] origin_flags = [True, False] onesided_flags = [True, False] for origin_flag, onesided_flag, chi in product(origin_flags, onesided_flags, chis): model_kwargs_cur = model_kwargs.copy() model_kwargs_cur['onesided_flag'] = onesided_flag model_kwargs_cur['origin_flag'] = origin_flag model_kwargs_cur['chi'] = chi model_kwarg_sets.append(model_kwargs_cur) run_kwarg_scan(model.Model1D, model_kwarg_sets, t_output_every, t_upto, force_resume, parallel)
def run_chi_scan_2d_uniform(): extra_model_kwargs = { 'rho_0': 1e-3, 'walls': walls.Walls(L, dim=2, dx=dx), } model_kwargs = dict(default_model_2d_kwargs, **extra_model_kwargs) t_output_every = 1000.0 t_upto = 8e4 chis = np.linspace(0.0, 800.0, 22) force_resume = True parallel = True model_kwarg_sets = [] origin_flags = [True, False] onesided_flags = [True, False] for origin_flag, onesided_flag, chi in product(origin_flags, onesided_flags, chis): model_kwargs_cur = model_kwargs.copy() model_kwargs_cur['onesided_flag'] = onesided_flag model_kwargs_cur['origin_flag'] = origin_flag model_kwargs_cur['chi'] = chi model_kwarg_sets.append(model_kwargs_cur) run_kwarg_scan(model.Model2D, model_kwarg_sets, t_output_every, t_upto, force_resume, parallel)
def run_trap_s_scan(): extra_model_kwargs = { # Quarter dt to keep diffusion stable. 'dt': 0.025, # Halve dx to let us do finer increments in `s`. 'dx': 20.0, 'origin_flag': True, 'rho_0': 1e-3, 'chi': None, 'onesided_flag': True, } model_kwargs = dict(default_model_2d_kwargs, **extra_model_kwargs) t_output_every = 2000.0 t_upto = 16e4 chis = np.linspace(200.0, 600.0, 22) force_resume = True parallel = True model_kwarg_sets = [] for s in [20.0, 60.0, 100.0, 140.0, 180.0]: walls_cur = walls.Traps(L, dx, n=1, d=trap_d, w=trap_w, s=trap_s) for chi in chis: model_kwargs_cur = model_kwargs.copy() model_kwargs_cur['walls'] = walls_cur model_kwargs_cur['chis'] = chi model_kwarg_sets.append(model_kwargs_cur) run_kwarg_scan(model.Model2D, model_kwarg_sets, t_output_every, t_upto, force_resume, parallel)
def run_Dr_scan_uniform(): extra_model_kwargs = { 'spatial_flag': True, } model_kwargs = dict(default_model_kwargs, **extra_model_kwargs) t_output_every = 50.0 t_upto = 1000.0 noise_0s = np.logspace(-3, 2, 22) force_resume = True parallel = True model_kwarg_sets = [] dims = [1, 2] noise_vars = ['Dr_0', 'p_0'] for noise_var, dim, noise_0 in product(noise_vars, dims, noise_0s): model_kwargs_cur = model_kwargs.copy() if noise_var == 'Dr_0': if dim == 1: continue model_kwargs_cur['rotation_flag'] = True model_kwargs_cur['tumble_flag'] = False model_kwargs_cur['Dr_0'] = noise_0 else: model_kwargs_cur['rotation_flag'] = False model_kwargs_cur['tumble_flag'] = True model_kwargs_cur['p_0'] = noise_0 model_kwargs_cur['dim'] = dim model_kwarg_sets.append(model_kwargs_cur) run_utils.run_kwarg_scan(Model, model_kwarg_sets, t_output_every, t_upto, force_resume=force_resume, parallel=parallel)
def run_Dr_scan_porous(): extra_model_kwargs = { 'spatial_flag': True, 'periodic_flag': True, 'pore_flag': True, 'pore_pf': 0.5, } model_kwargs = dict(default_model_kwargs, **extra_model_kwargs) t_output_every = 50.0 t_upto = 1000.0 noise_0s = np.logspace(-3, 2, 22) force_resume = True parallel = True model_kwarg_sets = [] pore_turners = ['stall', 'bounce_back', 'reflect', 'align'] noise_vars = ['Dr_0', 'p_0'] for noise_var, pore_turner, noise_0 in product(noise_vars, pore_turners, noise_0s): model_kwargs_cur = model_kwargs.copy() if noise_var == 'Dr_0': model_kwargs_cur['rotation_flag'] = True model_kwargs_cur['tumble_flag'] = False model_kwargs_cur['Dr_0'] = noise_0 else: model_kwargs_cur['rotation_flag'] = False model_kwargs_cur['tumble_flag'] = True model_kwargs_cur['p_0'] = noise_0 model_kwargs_cur['pore_turner'] = pore_turner model_kwarg_sets.append(model_kwargs_cur) run_utils.run_kwarg_scan(Model, model_kwarg_sets, t_output_every, t_upto, force_resume=force_resume, parallel=parallel)
def run_pf_scan_drift(): extra_model_kwargs = { 'spatial_flag': True, 'periodic_flag': True, 'pore_flag': True, } model_kwargs = dict(default_model_kwargs, **extra_model_kwargs) t_output_every = 50.0 t_upto = 1000.0 pore_pfs = np.linspace(0.0, 0.8, 22) force_resume = True parallel = True model_kwarg_sets = [] noise_vars = ['Dr_0', 'p_0'] onesided_flags = [True, False] temporal_chemo_flags = [True, False] combos = product(noise_vars, onesided_flags, temporal_chemo_flags, pore_pfs) for noise_var, onesided_flag, temporal_chemo_flag, pore_pf in combos: model_kwargs_cur = model_kwargs.copy() if noise_var == 'Dr_0': model_kwargs_cur['rotation_flag'] = True model_kwargs_cur['rotation_chemo_flag'] = True model_kwargs_cur['tumble_flag'] = False model_kwargs_cur['tumble_chemo_flag'] = False else: model_kwargs_cur['rotation_flag'] = False model_kwargs_cur['rotation_chemo_flag'] = False model_kwargs_cur['tumble_flag'] = True model_kwargs_cur['tumble_chemo_flag'] = True model_kwargs_cur['onesided_flag'] = onesided_flag model_kwargs_cur['temporal_chemo_flag'] = temporal_chemo_flag key = noise_var, onesided_flag, temporal_chemo_flag model_kwargs_cur['chi'] = combo_to_chi[key] model_kwargs_cur['pore_pf'] = pore_pf model_kwarg_sets.append(model_kwargs_cur) run_utils.run_kwarg_scan(Model, model_kwarg_sets, t_output_every, t_upto, force_resume=force_resume, parallel=parallel)
def run_chi_scan(): extra_model_kwargs = { 'spatial_flag': True, } model_kwargs = dict(default_model_kwargs, **extra_model_kwargs) t_output_every = 50.0 t_upto = 300.0 chis = np.linspace(0.0, 0.99, 22) force_resume = True parallel = True model_kwarg_sets = [] dims = [1, 2] noise_vars = ['Dr_0', 'p_0'] onesided_flags = [True, False] temporal_chemo_flags = [True, False] combos = product(noise_vars, dims, onesided_flags, temporal_chemo_flags, chis) for noise_var, dim, onesided_flag, temporal_chemo_flag, chi in combos: model_kwargs_cur = model_kwargs.copy() if noise_var == 'Dr_0': if dim == 1: continue model_kwargs_cur['rotation_flag'] = True model_kwargs_cur['rotation_chemo_flag'] = True model_kwargs_cur['tumble_flag'] = False model_kwargs_cur['tumble_chemo_flag'] = False else: model_kwargs_cur['rotation_flag'] = False model_kwargs_cur['rotation_chemo_flag'] = False model_kwargs_cur['tumble_flag'] = True model_kwargs_cur['tumble_chemo_flag'] = True model_kwargs_cur['dim'] = dim model_kwargs_cur['onesided_flag'] = onesided_flag model_kwargs_cur['temporal_chemo_flag'] = temporal_chemo_flag model_kwargs_cur['chi'] = chi model_kwarg_sets.append(model_kwargs_cur) run_utils.run_kwarg_scan(Model, model_kwarg_sets, t_output_every, t_upto, force_resume=force_resume, parallel=parallel)
def run_chi_scan_traps(): extra_model_kwargs = { 'rho_0': 1e-3, 'onesided_flag': True, 'origin_flag': False, 'walls': walls.Traps(L, dx=dx, n=5, d=trap_d, w=trap_w, s=trap_s), } model_kwargs = dict(default_model_2d_kwargs, **extra_model_kwargs) t_output_every = 1000.0 t_upto = 8e4 chis = np.linspace(0.0, 800.0, 22) force_resume = True parallel = True model_kwarg_sets = [] for chi in chis: model_kwargs_cur = model_kwargs.copy() model_kwargs_cur['chi'] = chi model_kwarg_sets.append(model_kwargs_cur) run_kwarg_scan(model.Model2D, model_kwarg_sets, t_output_every, t_upto, force_resume, parallel)