Added option to disable progress bars and ensure they always write to stdout instead of stderr.

这个提交包含在:
Craig Warren
2016-08-18 14:58:25 +01:00
父节点 256be93bfa
当前提交 6aeaa315b5
共有 3 个文件被更改,包括 8 次插入7 次删除

查看文件

@@ -348,7 +348,7 @@ def run_model(args, modelrun, numbermodelruns, inputfile, usernamespace):
# Build the model, i.e. set the material properties (ID) for every edge of every Yee cell
print()
pbar = tqdm(total=2, desc='Building FDTD grid', ncols=get_terminal_size()[0] - 1)
pbar = tqdm(total=2, desc='Building FDTD grid', ncols=get_terminal_size()[0] - 1, file=sys.stdout, disable=G.tqdmdisable)
build_electric_components(G.solid, G.rigidE, G.ID, G)
pbar.update()
build_magnetic_components(G.solid, G.rigidH, G.ID, G)
@@ -417,7 +417,7 @@ def run_model(args, modelrun, numbermodelruns, inputfile, usernamespace):
for i, geometryview in enumerate(G.geometryviews):
geometryview.set_filename(modelrun, numbermodelruns, G)
geoiters = 6 * (((geometryview.xf - geometryview.xs) / geometryview.dx) * ((geometryview.yf - geometryview.ys) / geometryview.dy) * ((geometryview.zf - geometryview.zs) / geometryview.dz))
pbar = tqdm(total=geoiters, unit='byte', unit_scale=True, desc='Writing geometry file {} of {}, {}'.format(i + 1, len(G.geometryviews), os.path.split(geometryview.filename)[1]), ncols=get_terminal_size()[0] - 1)
pbar = tqdm(total=geoiters, unit='byte', unit_scale=True, desc='Writing geometry file {} of {}, {}'.format(i + 1, len(G.geometryviews), os.path.split(geometryview.filename)[1]), ncols=get_terminal_size()[0] - 1, file=sys.stdout, disable=G.tqdmdisable)
geometryview.write_vtk(modelrun, numbermodelruns, G, pbar)
pbar.close()
# geometryview.write_xdmf(modelrun, numbermodelruns, G)
@@ -445,7 +445,7 @@ def run_model(args, modelrun, numbermodelruns, inputfile, usernamespace):
# Absolute time
abstime = 0
for timestep in tqdm(range(G.iterations), desc='Running simulation, model ' + str(modelrun) + ' of ' + str(numbermodelruns), ncols=get_terminal_size()[0] - 1):
for timestep in tqdm(range(G.iterations), desc='Running simulation, model ' + str(modelrun) + ' of ' + str(numbermodelruns), ncols=get_terminal_size()[0] - 1, file=sys.stdout, disable=G.tqdmdisable):
# Store field component values for every receiver and transmission line
store_outputs(timestep, G.Ex, G.Ey, G.Ez, G.Hx, G.Hy, G.Hz, G)
@@ -453,7 +453,7 @@ def run_model(args, modelrun, numbermodelruns, inputfile, usernamespace):
for i, snap in enumerate(G.snapshots):
if snap.time == timestep + 1:
snapiters = 36 * (((snap.xf - snap.xs) / snap.dx) * ((snap.yf - snap.ys) / snap.dy) * ((snap.zf - snap.zs) / snap.dz))
pbar = tqdm(total=snapiters, leave=False, unit='byte', unit_scale=True, desc=' Writing snapshot file {} of {}, {}'.format(i + 1, len(G.snapshots), os.path.split(snap.filename)[1]), ncols=get_terminal_size()[0] - 1)
pbar = tqdm(total=snapiters, leave=False, unit='byte', unit_scale=True, desc=' Writing snapshot file {} of {}, {}'.format(i + 1, len(G.snapshots), os.path.split(snap.filename)[1]), ncols=get_terminal_size()[0] - 1, file=sys.stdout, disable=G.tqdmdisable)
snap.write_vtk_imagedata(G.Ex, G.Ey, G.Ez, G.Hx, G.Hy, G.Hz, G, pbar)
pbar.close()

查看文件

@@ -74,6 +74,7 @@ class FDTDGrid(Grid):
self.inputdirectory = ''
self.title = ''
self.messages = True
self.tqdmdisable = False
self.nx = 0
self.ny = 0
self.nz = 0

查看文件

@@ -44,11 +44,11 @@ def process_geometrycmds(geometry, G):
# Disable progress bar if on Windows as it does not update properly when messages are printed
if sys.platform == 'win32':
tqdmbar = True
tqdmdisable = True
else:
tqdmbar = False
tqdmdisable = G.tqdmdisable
for object in tqdm(geometry, desc='Processing geometry related cmds', unit='cmds', ncols=get_terminal_size()[0] - 1, disable=tqdmbar):
for object in tqdm(geometry, desc='Processing geometry related cmds', unit='cmds', ncols=get_terminal_size()[0] - 1, file=sys.stdout, disable=tqdmdisable):
tmp = object.split()
if tmp[0] == '#geometry_objects_file:':