Beispiel #1
0
def parse_isrc(line, mycircuit):
    line_elements = line.split()
    dc_value = None
    ac_value = None
    n1 = mycircuit.add_node(line_elements[1])
    n2 = mycircuit.add_node(line_elements[2])

    pattern = re.match(
        r'(^I.) (.*) (.*) ([AD]C)?(=)?( ?)([0-9.]*[FPNUMKGT]?)A?(,?)( ?)([0-9.]*$)?',
        line, re.I)
    #     1     2 n1 3 n2 4       5   6   7                     8   9   10

    if pattern.group(4):
        if pattern.group(4).lower() == 'dc':
            dc_value = unit_transform(pattern.group(7))
        elif pattern.group(4).lower() == 'ac':
            ac_value = unit_transform(pattern.group(7))
    else:
        dc_value = unit_transform(pattern.group(7))

    element = Element.ISrc(name=line_elements[0],
                           n1=n1,
                           n2=n2,
                           dc_value=dc_value,
                           ac_value=ac_value)

    return [element]
Beispiel #2
0
 def add_isrc(self, name, n1, n2, dc_value, ac_value=0):
     n1 = self.add_node(n1)
     n2 = self.add_node(n2)
     element = Element.ISrc(name=name,
                            n1=n1,
                            n2=n2,
                            dc_value=dc_value,
                            ac_value=ac_value)
     self.append(element)