Models — MobsPy 2.2 documentation

# Models

The models created used the ‘|’ operator can be iterated through

    [1]:

    from mobspy import *

    A, B, C, D = BaseSpecies()

    iterator = A | B | C | D

    for spe in iterator:
        print(spe)

    A
    B
    C
    D

# Characteristics

One can loop through characteristics by keeping them in a list and using the .c operator. Futhermore, the method get_characteristics() returns the set of characteristics directly added to that species.

    [2]:

    from mobspy import *

    A, B = BaseSpecies()

    l_a = ['a1', 'a2', 'a3']
    l_b = ['b1', 'b2', 'b3']

    for a, b in zip(l_a, l_b):
        A.c(a) + B.c(l_b) >> Zero [1]

    print(A.get_characteristics())
    print(B.get_characteristics())

    S = Simulation(A | B)
    print(S.compile())

    {'a3', 'a2', 'a1'}
    {"['b1', 'b2', 'b3']"}

    Species
    A.a1,0
    A.a2,0
    A.a3,0
    B.['b1', 'b2', 'b3'],0

    Mappings
    A :
    A.a1
    A.a2
    A.a3
    B :
    B.['b1', 'b2', 'b3']

    Parameters
    volume,1

    Reactions
    reaction_0,{'re': [(1, 'A.a1'), (1, "B.['b1', 'b2', 'b3']")], 'pr': [], 'kin': "A.a1 * B.['b1', 'b2', 'b3'] * 1 * volume^-1"}
    reaction_1,{'re': [(1, 'A.a2'), (1, "B.['b1', 'b2', 'b3']")], 'pr': [], 'kin': "A.a2 * B.['b1', 'b2', 'b3'] * 1 * volume^-1"}
    reaction_2,{'re': [(1, 'A.a3'), (1, "B.['b1', 'b2', 'b3']")], 'pr': [], 'kin': "A.a3 * B.['b1', 'b2', 'b3'] * 1 * volume^-1"}

    Compiling model

# List Species

Futhermore, MobsPy provides a ListSpecies constructor. This constructor creates a list of meta-species automatically named with the variable used to construct the ListSpecies plus _ and the number of the species in the list.

    [5]:

    A = ListSpecies(5)

    for a in A:
        print(a.get_name())

    A_1
    A_2
    A_3
    A_4
    A_5