Ejemplo n.º 1
0
        if args.tstate_file:
            target_states.extend(
                TargetState.states_from_file(args.tstate_file,
                                             system.pcoord_dtype))
        if args.tstates:
            tstates_strio = io.StringIO('\n'.join(args.tstates).replace(
                ',', ' '))
            target_states.extend(
                TargetState.states_from_file(tstates_strio,
                                             system.pcoord_dtype))
            del tstates_strio

        # Process basis states
        basis_states = []
        if args.bstate_file:
            basis_states.extend(BasisState.states_from_file(args.bstate_file))
        if args.bstates:
            for bstate_str in args.bstates:
                fields = bstate_str.split(',')
                label = fields[0]
                probability = float(fields[1])
                try:
                    auxref = fields[2]
                except IndexError:
                    auxref = None
                basis_states.append(
                    BasisState(label=label,
                               probability=probability,
                               auxref=auxref))

        if not basis_states:
Ejemplo n.º 2
0
with work_manager:
    if work_manager.is_master:    
        # Process target states
        target_states = []
        if args.tstate_file:
            target_states.extend(TargetState.states_from_file(args.tstate_file, system.pcoord_dtype))
        if args.tstates:
            tstates_strio = cStringIO.StringIO('\n'.join(args.tstates).replace(',', ' '))
            target_states.extend(TargetState.states_from_file(tstates_strio, system.pcoord_dtype))
            del tstates_strio
                    
        # Process basis states
        basis_states = []
        if args.bstate_file:
            basis_states.extend(BasisState.states_from_file(args.bstate_file))
        if args.bstates:
            for bstate_str in args.bstates:
                fields = bstate_str.split(',')
                label=fields[0]
                probability=float(fields[1])
                try:
                    auxref = fields[2]
                except IndexError:
                    auxref = None
                basis_states.append(BasisState(label=label,probability=probability,auxref=auxref))
        
        if not basis_states:
            log.error('At least one basis state is required')
            sys.exit(3)
        
Ejemplo n.º 3
0
                tstate_file.write(
                    '# Target states for iteration {:d}\n'.format(n_iter))
                TargetState.states_to_file(target_states, tstate_file)

        elif args.mode == 'replace':
            seg_index = data_manager.get_seg_index(n_iter)
            if (seg_index['status'] == Segment.SEG_STATUS_COMPLETE).any():
                print(
                    'Iteration {:d} has completed segments; applying new states to iteration {:d}'
                    .format(n_iter, n_iter + 1))
                n_iter += 1

            basis_states = []
            if args.bstate_file:
                basis_states.extend(
                    BasisState.states_from_file(args.bstate_file))
            if args.bstates:
                for bstate_str in args.bstates:
                    fields = bstate_str.split(',')
                    label = fields[0]
                    probability = float(fields[1])
                    try:
                        auxref = fields[2]
                    except IndexError:
                        auxref = None
                    basis_states.append(
                        BasisState(label=label,
                                   probability=probability,
                                   auxref=auxref))

            if basis_states: