Bonjour,
Je rencontre un problème : je voudrais ne plus avoir du tout de parser (effacer le parser) et à la place, réécrire ce qu'il y avait dans le parser (c'est-à-dire tous les "group.add_argument(...)" ) en-dessous de la ligne "def run(args, job):"
Et donc, de les redéfinir et pouvoir en faire de vrais paramètres facile à tuner.
Seulement, à chaque fois, que j'efface un "group.add_argument(...)", par exemple, disons group.add_argument(X) pour l'effacer du parser et définir X après "def run(args, job):" j'obtiens inexorablement un message d'erreur :'( En fait, pour être plus précis, j'ai quand même réussi à le faire pour "group.add_argument(S2start)" mais par pour les autres "group.add_argument(...)".
Je remercie d'avance toute personne qui pourrait m'apporter sa précieuse aide car je coince vraiment
Voici la partie du code où je rencontre ces problèmes :
Code:def parser(): parser = tools.standard_parser() group = parser.add_argument_group( "experiment specific options" ) group.add_argument('--Mode', default='default', choices=['default', 'adjust']) group.add_argument('--im_param', type=str, default='') group.add_argument('--tend', type=float, default=700.) group.add_argument('--bc', default="noflux", choices=['noflux','Xper', 'Yper', 'XYper']) group.add_argument('--size', type=float, default=2.) group.add_argument('--monitor', type=float, nargs='?', const=15., default=None) return parser def jobID(args): today = date.today() return '{}_periodic_{}_np_{}_{}_{}'.format(today.isoformat(), args.tend, args.np, args.bc, args.size) @tools.example(parser, jobID) def run(args, job): S2start=85 imparam = 'S2_start=' + str(S2start) geom = mesh.Block(size=(args.size*10,args.size*10,0), periodic=0) meshname = mesh.generate(geom) IDs= [] if 'X' in args.bc : IDs.append(1000) if 'Y' in args.bc : IDs.append(1025) if IDs : gPer = [model.ConductivityRegion([0]), model.ConductivityRegion(IDs=[], name=None)] # définition du stimulus S1 edge = args.size*10000./2. S1 = [model.Stimulus( 'S1', x0=-edge-1, y0=-edge+198, xd=edge*2+2, yd=400, strength=80,duration=2, start=0)] S2start=85 # if args.S2start>=0 : S1.append( model.Stimulus( 'S2', x0=-edge, y0=-edge, xd=edge, yd=edge, strength=80, duration=2, start=args.S2start) ) if 'X' in args.bc : S1.append(model.Stimulus( 'Xblock', x0=-edge-1, y0=-edge-1, xd=2, yd=edge*2+2, strength=args.block_Vm, duration=args.block_dur, stimtype=9, tau_edge=0, tau_plateau=1.0e6)) if 'Y' in args.bc : S1.append(model.Stimulus( 'Yblock', x0=-edge-1, y0=-edge-1, xd=edge*2+2, yd=2, strength=args.block_Vm, duration=args.block_dur, stimtype=9, tau_edge=0, tau_plateau=1.0e6)) cmd = tools.carp_cmd() + [ '-simID', job.ID ] cmd += model.optionlist(S1) if len(IDs) : cmd += model.optionlist(gPer) cmd = tools.carp_cmd('paramet.par') simid = job.ID + '/spir' writestatef = 'statefile' cmd += ['-meshname', meshname, '-tend', args.tend, '-size', 2, '-np', 4, '-monitor', 15, '-block-Vm', -86, '-block-dur', 0, '-dt', 25, '-spacedt', 1, # '-imp_region[0].im_param', str(args.im_param), '-ellip_use_pt', 0, #from here below, override default solver '-parab_options_file', ''] cmd += [ '-simID', simid, '-write_statef', writestatef, # '-imp_region[0].im_param', imparam, # '-tend', 1000.0, '-stimulus[0].start', 0, '-stimulus[1].start', 85.0, '-tend', args.tend, '-size', 2, '-np', 4, '-monitor', 15, '-block-Vm', -86, '-block-dur', 0, '-dt', 25, '-spacedt', 1, '-imp_region[0].im_param', 'ADPshorten*8', '-ellip_use_pt', 0, '-parab_options_file', ''] if args.visualize or args.monitor : # Prepare file paths geom = meshname data = os.path.join(job.ID, 'vm.igb') view = 'view.mshz' meshproc = job.meshalyzer(geom, data, view, monitor=args.monitor ) if args.monitor else None if args.visualize and not settings.platform.BATCH: job.meshalyzer(geom, data, view) if meshproc: meshproc.wait() if __name__ == '__main__': run()
-----




Et désolée pour le jours qui ont passé sans que je complète ce que je voulais dire pour mon problème mais je voulais revoir l'assistant pour lui poser des questions et que l'assistant confirme certaines choses car je n'étais plus sûre. Et comme je ne voulais pas écrire des bêtises sur le forum, et bien, j'ai attendu de pouvoir revoir l'assistant. Et j'ai pu lui poser des questions ce matin et lui demander ce qu'il en pensait à nouveau.