Loading src/scripts/model_maker.py +29 −30 Original line number Diff line number Diff line Loading @@ -176,11 +176,11 @@ def load_model(model_file): [ 0 for j in range(max_layers)] for i in range(sconf['configurations']) ] for i in range(sconf['configurations']): if (len(model['particle_settings']['dielec_id'][i]) != sconf['nshl'][i]): print("ERROR: Declared materials in type %d do not match number of layers!"%i) if (len(model['particle_settings']['dielec_id'][i]) != 1 + int(sconf['nshl'][i] / 2)): print("ERROR: Declared materials in type %d do not match number of layers!"%(i + 1)) return (None, None) else: for j in range(sconf['nshl'][i]): for j in range(1 + int(sconf['nshl'][i] / 2)): sconf['dielec_id'][i][j] = float(model['particle_settings']['dielec_id'][i][j]) if (model['radiation_settings']['scale_name'] == "XI"): sconf['insn'] = 1 Loading @@ -189,7 +189,8 @@ def load_model(model_file): for i in range(sconf['nxi']): sconf['vec_xi'][i] = sconf['xi_start'] + i * sconf['xi_step'] # Set up dielectric constants if (num_dielec != sconf['configurations']): allow_dielec = True # TODO: define logic to check dielectric constants if (not allow_dielec): print("ERROR: delcared dielectric constants do not match number of sphere types!") return (None, None) else: Loading Loading @@ -561,20 +562,19 @@ def write_legacy_sconf(conf): output.write(str_line) if (conf['application'] != "INCLUSION"): if (conf['idfc'] == 0): # Write all wavelength dependent constants for each layer in each configuration for xi in range(conf['configurations']): for xj in range(conf['nshl'][xi]): # Write all layers in each configuration for every wavelength for xk in range(conf['nxi']): for xii in range(conf['configurations']): rdc0 = conf['rdc0'][xj][xii][xk] idc0 = conf['idc0'][xj][xii][xk] for xi in range(conf['configurations']): for xj in range(1 + int(conf['nshl'][xi] / 2)): rdc0 = conf['rdc0'][xj][xi][xk] idc0 = conf['idc0'][xj][xi][xk] if (rdc0 != 0.0 or idc0 != 0.0): str_line = "({0:11.5E},{1:11.5E})\n".format(rdc0, idc0) output.write(str_line) elif (conf['idfc'] == -1): # Write reference scale constants for each layer in each configuration for xi in range(conf['configurations']): for xj in range(conf['nshl'][xi]): for xj in range(1 + int(conf['nshl'][xi] / 2)): rdc0 = conf['rdc0'][xj][xi][0] idc0 = conf['idc0'][xj][xi][0] if (rdc0 != 0.0 or idc0 != 0.0): Loading @@ -582,18 +582,17 @@ def write_legacy_sconf(conf): output.write(str_line) else: # specialized output for INCLUSION if (conf['idfc'] == 0): # Write all wavelength dependent constants for each layer in each configuration # Write all layers in each configuration for every wavelength for xk in range(conf['nxi']): for xi in range(conf['configurations']): layers = conf['nshl'][xi] - 1 layers = 1 + int(conf['nshl'][xi]) - 1 for xj in range(layers): for xk in range(conf['nxi']): for xii in range(conf['configurations']): rdc0 = conf['rdc0'][xj][xii][xk] idc0 = conf['idc0'][xj][xii][xk] rdc0 = conf['rdc0'][xj][xi][xk] idc0 = conf['idc0'][xj][xi][xk] if (rdc0 != 0.0 or idc0 != 0.0): str_line = "({0:11.5E},{1:11.5E})\n".format(rdc0, idc0) output.write(str_line) if (xii == conf['configurations'] - 1): if (xi == conf['configurations'] - 1): rdc0 = conf['rdc0'][layers][0][xk] idc0 = conf['idc0'][layers][0][xk] if (rdc0 != 0.0 or idc0 != 0.0): Loading @@ -602,7 +601,7 @@ def write_legacy_sconf(conf): elif (conf['idfc'] == -1): # Write reference scale constants for each layer in each configuration for xi in range(conf['configurations']): layers = conf['nshl'][xi] - 1 layers = 1 + int(conf['nshl'][xi]) - 1 for xj in range(layers): rdc0 = conf['rdc0'][xj][xi][0] idc0 = conf['idc0'][xj][xi][0] Loading Loading
src/scripts/model_maker.py +29 −30 Original line number Diff line number Diff line Loading @@ -176,11 +176,11 @@ def load_model(model_file): [ 0 for j in range(max_layers)] for i in range(sconf['configurations']) ] for i in range(sconf['configurations']): if (len(model['particle_settings']['dielec_id'][i]) != sconf['nshl'][i]): print("ERROR: Declared materials in type %d do not match number of layers!"%i) if (len(model['particle_settings']['dielec_id'][i]) != 1 + int(sconf['nshl'][i] / 2)): print("ERROR: Declared materials in type %d do not match number of layers!"%(i + 1)) return (None, None) else: for j in range(sconf['nshl'][i]): for j in range(1 + int(sconf['nshl'][i] / 2)): sconf['dielec_id'][i][j] = float(model['particle_settings']['dielec_id'][i][j]) if (model['radiation_settings']['scale_name'] == "XI"): sconf['insn'] = 1 Loading @@ -189,7 +189,8 @@ def load_model(model_file): for i in range(sconf['nxi']): sconf['vec_xi'][i] = sconf['xi_start'] + i * sconf['xi_step'] # Set up dielectric constants if (num_dielec != sconf['configurations']): allow_dielec = True # TODO: define logic to check dielectric constants if (not allow_dielec): print("ERROR: delcared dielectric constants do not match number of sphere types!") return (None, None) else: Loading Loading @@ -561,20 +562,19 @@ def write_legacy_sconf(conf): output.write(str_line) if (conf['application'] != "INCLUSION"): if (conf['idfc'] == 0): # Write all wavelength dependent constants for each layer in each configuration for xi in range(conf['configurations']): for xj in range(conf['nshl'][xi]): # Write all layers in each configuration for every wavelength for xk in range(conf['nxi']): for xii in range(conf['configurations']): rdc0 = conf['rdc0'][xj][xii][xk] idc0 = conf['idc0'][xj][xii][xk] for xi in range(conf['configurations']): for xj in range(1 + int(conf['nshl'][xi] / 2)): rdc0 = conf['rdc0'][xj][xi][xk] idc0 = conf['idc0'][xj][xi][xk] if (rdc0 != 0.0 or idc0 != 0.0): str_line = "({0:11.5E},{1:11.5E})\n".format(rdc0, idc0) output.write(str_line) elif (conf['idfc'] == -1): # Write reference scale constants for each layer in each configuration for xi in range(conf['configurations']): for xj in range(conf['nshl'][xi]): for xj in range(1 + int(conf['nshl'][xi] / 2)): rdc0 = conf['rdc0'][xj][xi][0] idc0 = conf['idc0'][xj][xi][0] if (rdc0 != 0.0 or idc0 != 0.0): Loading @@ -582,18 +582,17 @@ def write_legacy_sconf(conf): output.write(str_line) else: # specialized output for INCLUSION if (conf['idfc'] == 0): # Write all wavelength dependent constants for each layer in each configuration # Write all layers in each configuration for every wavelength for xk in range(conf['nxi']): for xi in range(conf['configurations']): layers = conf['nshl'][xi] - 1 layers = 1 + int(conf['nshl'][xi]) - 1 for xj in range(layers): for xk in range(conf['nxi']): for xii in range(conf['configurations']): rdc0 = conf['rdc0'][xj][xii][xk] idc0 = conf['idc0'][xj][xii][xk] rdc0 = conf['rdc0'][xj][xi][xk] idc0 = conf['idc0'][xj][xi][xk] if (rdc0 != 0.0 or idc0 != 0.0): str_line = "({0:11.5E},{1:11.5E})\n".format(rdc0, idc0) output.write(str_line) if (xii == conf['configurations'] - 1): if (xi == conf['configurations'] - 1): rdc0 = conf['rdc0'][layers][0][xk] idc0 = conf['idc0'][layers][0][xk] if (rdc0 != 0.0 or idc0 != 0.0): Loading @@ -602,7 +601,7 @@ def write_legacy_sconf(conf): elif (conf['idfc'] == -1): # Write reference scale constants for each layer in each configuration for xi in range(conf['configurations']): layers = conf['nshl'][xi] - 1 layers = 1 + int(conf['nshl'][xi]) - 1 for xj in range(layers): rdc0 = conf['rdc0'][xj][xi][0] idc0 = conf['idc0'][xj][xi][0] Loading