Example #1
0
# invoke init
n_steps = 10000

restart_file = '../keefe_runup_stage_5_qiqi.hd5'

for i_stage in range(1000000):
    next_restart = 'Re{0:04d}_{1:06d}.hd5'.format(channel.Re, i_stage)

    if not os.path.exists(next_restart):
        print('restarting from ', restart_file, ' writing to ', next_restart)
        sys.stdout.flush()

        channel.init(n_steps, 0, restart_file)
        
        u_mean, u2_mean = [], []
        for i in range(0, n_steps + 1, 400):
            U = channel.spec2phys(i)
            u_mean.append(U.mean(1).mean(2))
            u2_mean.append((U**2).mean(1).mean(2))
        
        u_mean, u2_mean = array(u_mean).mean(0), array(u2_mean).mean(0)
        
        savetxt('Re{0:04d}_{1:06d}.txt'.format(channel.Re, i_stage),
                vstack([u_mean, u2_mean]).T)
        channel.save_solution(next_restart, channel.get_solution(n_steps))

        channel.destroy()

    restart_file = next_restart
Example #2
0
channel.Lx=1.6
channel.Lz=1.6

# time step and number of steps
channel.dt = .01

# flux (mean pressure gradient)
channel.meanU = 1

# ============================================
# STAGES -- reynolds number
Re = [10000, 5000, 3000, 2500, 2000]
restart = None

for i in range(len(Re)):
    channel.Re = Re[i]
    
    # STAGE i -- time steps
    ru_steps = 4999
    n_steps = 1
    
    # STAGE i -- invoke init
    channel.init(n_steps, ru_steps, restart=restart)

    filename = 'keefe_runup_stage_{0}'.format(i+1)
    channel.save_solution(filename, channel.get_solution(0))
    channel.destroy()

    restart = filename