def newifile(iname='forslund-sbs.txt', oname='case1.txt', a0=0.1, rtemp=10, tmax=2500.0): uth = 0.1 / np.sqrt(3642.0 * rtemp) with open(iname) as osdata: data = osdata.readlines() for i in range(len(data)): if 'uth(1:3) = 0.00007335978' in data[i]: data[i] = 'uth(1:3) = ' + str(uth) + ' , ' + str( uth) + ' , ' + str(uth) + ',\n' if 'uth_bnd(1:3,1,1) = 0.00007335978' in data[i]: data[i] = 'uth_bnd(1:3,1,1) = ' + str(uth) + ' , ' + str( uth) + ' , ' + str(uth) + ',\n' if 'uth_bnd(1:3,2,1) = 0.00007335978' in data[i]: data[i] = 'uth_bnd(1:3,2,1) = ' + str(uth) + ' , ' + str( uth) + ' , ' + str(uth) + ',\n' if 'a0 =' in data[i] and 'omega0' not in data[i]: data[i] = 'a0 = ' + str(a0) + ',\n' if 'tmax =' in data[i]: data[i] = 'tmax =' + str(tmax) + '\n' with open(oname, 'w') as f: for line in data: f.write(line) print('New file ' + oname + ' is written.') dirname = oname.strip('.txt') print('Running OSIRIS in directory ' + dirname + '...') osiris.runosiris(rundir=dirname, inputfile=oname, print_out='yes') print('Done')
def newifile2(iname='case0.txt', oname='case1.txt', uth=1e-6, a0=1.0, omega0=2.0, t_flat=3.14, t_rise=0, t_fall=0, xmax=102.4, ndump=1, ppc=10, tmax=200.0 ): with open(iname) as osdata: data = osdata.readlines() delta_x = 0.15/omega0 nx_p = int(xmax/delta_x) for i in range(len(data)): if 'uth(1:3)' in data[i]: data[i] = 'uth(1:3) = '+str(uth)+' , '+str(uth)+' , '+str(uth)+',\n' if 'uth_bnd(1:3,1,1)' in data[i]: data[i] = 'uth_bnd(1:3,1,1) = '+str(uth)+' , '+str(uth)+' , '+str(uth)+',\n' if 'uth_bnd(1:3,2,1)' in data[i]: data[i] = 'uth_bnd(1:3,2,1) = '+str(uth)+' , '+str(uth)+' , '+str(uth)+',\n' if 'a0 =' in data[i] and 'omega0' not in data[i]: data[i] = 'a0 = '+str(a0)+',\n' if 'omega0 =' in data[i]: data[i] = 'omega0 = '+str(omega0)+',\n' if 't_flat =' in data[i]: data[i] = 't_flat = '+str(t_flat)+',\n' if 't_rise =' in data[i]: data[i] = 't_rise = '+str(t_rise)+',\n' if 't_fall =' in data[i]: data[i] = 't_fall = '+str(t_fall)+',\n' if 'nx_p(1:1) =' in data[i]: data[i] = 'nx_p(1:1) = '+str(nx_p)+',\n' if 'dt =' in data[i]: dt = (0.98 * xmax / nx_p) data[i] = 'dt = '+str(dt)+'e0'+',\n' if 'xmax(1:1) =' in data[i] and 'ps_xmax(1:1)' not in data[i]: data[i] = 'xmax(1:1) = '+str(xmax)+'e0,\n' if 'ps_xmax(1:1) =' in data[i]: data[i] = 'ps_xmax(1:1) = '+str(xmax)+',\n' if 'x(1:2,1) =' in data[i] and 'fx(1:2,1)' not in data[i]: data[i] = 'x(1:2,1) = 0.0, '+str(xmax)+',\n' if 'ndump =' in data[i]: data[i] = 'ndump = '+str(ndump)+',\n' if 'num_par_x(1:1) =' in data[i]: data[i] = 'num_par_x(1:1) = '+str(ppc)+',\n' if 'lon_start =' in data[i]: data[i] = 'lon_start = '+str(xmax-0.5)+'\n' # This line is for moving window only if ('x(1:4,1)' in data[i]) and not ('fx(1:4,1)' in data[i]): data[i]= 'x(1:4,1) = 0.0, '+str(xmax)+' , '+str(xmax+0.001)+', 1500.0,'+'\n' if 'tmax =' in data[i]: data[i] = 'tmax ='+str(tmax)+'\n' with open(oname,'w') as f: for line in data: f.write(line) print('New file '+oname+' is written.') dirname = oname.strip('.txt') print('Running OSIRIS in directory '+dirname+'...') osiris.runosiris(rundir=dirname,inputfile=oname,print_out='yes') plot_maxgamma_t(dirname) print('Done')
def newifile(iname='yan-circ.txt', oname='case1.txt', a0=3.0, tmax=900.0): with open(iname) as osdata: data = osdata.readlines() for i in range(len(data)): if 'a0 =' in data[i] and 'omega0' not in data[i]: data[i] = 'a0 = ' + str(a0) + ',\n' if 'tmax =' in data[i]: data[i] = 'tmax =' + str(tmax) + '\n' with open(oname, 'w') as f: for line in data: f.write(line) print('New file ' + oname + ' is written.') dirname = oname.strip('.txt') print('Running OSIRIS in directory ' + dirname + '...') osiris.runosiris(rundir=dirname, inputfile=oname, print_out='yes') print('Done')