Пример #1
0
    def test_RC_ivp(self):
        """Lcapy: check RC IVP"""

        a = Circuit("""
        C 1 0 C v0
        R 1 0""")

        self.assertEqual(a.is_ivp, True, "Initial value problem incorrect")
        self.assertEqual(a.R.I, -a.C.I, "R + C current different")
        self.assertEqual(a.R.V, a.C.V, "R + C voltage different")
        self.assertEqual(a.C.I(s), sympify('-v0 / (s * R + 1 / C)'),
                         "C current wrong")
Пример #2
0
    def test_RL_ivp(self):
        """Lcapy: check RL IVP"""

        a = Circuit("""
        L 1 0 L i0
        R 1 0""")

        self.assertEqual(a.is_ivp, True, "Initial value problem incorrect")
        # Note, a positive current through an inductor is from the
        # positive node to the negative node.
        self.assertEqual(a.R.I, -a.L.I, "R + L current different")
        self.assertEqual(a.R.V, a.L.V, "R + L voltage different")
        self.assertEqual(a.L.I(s), sympify('i0 / (s + R / L)'),
                         "L current wrong")
Пример #3
0
from lcapy import s, sympify, j, sqrt

zeta = sympify('zeta_', real=True)
omega0 = sympify('omega0', real=True)
p1a = -omega0
p1b = -omega0

H = p1a * p1b / ((s - p1a) * (s - p1b))

G = H / s

#g = G.partfrac().inverse_laplace(causal=True).simplify()
#h = H.partfrac().inverse_laplace(causal=True).simplify()
g = G.inverse_laplace(causal=True)
h = H.inverse_laplace(causal=True)

def topy(expr):

    s = str(expr)
    s = s.replace('**', '^').replace('_', '').replace('*', ' * ').replace('^', '**').replace('Heaviside(t)', '(t >= 0)').replace('/', ' / ')    
    return s

print(topy(g))

print(topy(h))
Пример #4
0
from lcapy import s, sympify, j

a = sympify('alpha')
tau = sympify('tau')

H = (s + 1 / tau) / (s + 1 / (a * tau)) / a

G = H / s

g = G.inverse_laplace(causal=True)
h = H.inverse_laplace(causal=True)


def topy(expr):

    s = str(expr)
    s = s.replace('**', '^').replace('_', '').replace('*', ' * ').replace(
        '^', '**').replace('Heaviside(t)', '(t >= 0)').replace('/', ' / ')
    return s


print(topy(g))

print(topy(h))
Пример #5
0
from lcapy import s, sympify, j

a1 = sympify('alpha_1')
b1 = sympify('beta_1')
o1 = sympify('omega_1')
H = (a1**2 + o1**2) * (s + b1) / ((s + a1 + j * o1) * (s + a1 - j * o1)) / b1

G = H / s

g = G.partfrac().inverse_laplace(causal=True).simplify()
h = H.partfrac().inverse_laplace(causal=True).simplify()


def topy(expr):

    s = str(expr)
    s = s.replace('**', '^').replace('_', '').replace('*', ' * ').replace(
        '^', '**').replace('Heaviside(t)', '(t >= 0)').replace('/', ' / ')
    return s


print(topy(g))

print(topy(h))
Пример #6
0
from lcapy import s, sympify, j

a = sympify('alpha')
b = sympify('beta_')

H = (s + b) / (s + a)

G = H / s

g = G.inverse_laplace(causal=True)
h = H.inverse_laplace(causal=True)

def topy(expr):

    s = str(expr)
    s = s.replace('**', '^').replace('_', '').replace('*', ' * ').replace('^', '**').replace('Heaviside(t)', '(t >= 0)').replace('/', ' / ')
    return s

print(topy(g))

print(topy(h))
Пример #7
0
from lcapy import s, sympify, j

a1 = sympify('alpha_1')
o1 = sympify('omega_1')
H = 2 * a1 * s / ((s + a1 + j * o1) * (s + a1 - j * o1))

G = H / s

g = G.partfrac().inverse_laplace(causal=True).simplify()
h = H.partfrac().inverse_laplace(causal=True).simplify()


def topy(expr):

    s = str(expr)
    s = s.replace('**', '^').replace('_', '').replace('*', ' * ').replace(
        '^', '**').replace('Heaviside(t)', '(t >= 0)').replace('/', ' / ')
    return s


print(topy(g))

print(topy(h))
Пример #8
0
from lcapy import s, sympify, j

a = sympify('alpha')
H = a / (s + a)

G = H / s

g = G.inverse_laplace(causal=True)
h = H.inverse_laplace(causal=True)


def topy(expr):

    s = str(expr)
    s = s.replace('**', '^').replace('_', '').replace('*', ' * ').replace(
        '^', '**').replace('Heaviside(t)', '(t >= 0)').replace('/', ' / ')
    return s


print(topy(g))

print(topy(h))
Пример #9
0
from lcapy import s, sympify, j, sqrt

a1 = sympify('alpha_1', real=True)
a2 = sympify('alpha_2', real=True)

H = (s**2 + a1 * a2) / ((s + a1) * (s + a2))

G = H / s

g = G.partfrac().inverse_laplace(causal=True)
h = H.partfrac().inverse_laplace(causal=True)

def topy(expr):

    s = str(expr)
    s = s.replace('**', '^').replace('_', '').replace('*', ' * ').replace('^', '**').replace('Heaviside(t)', '(t >= 0)').replace('/', ' / ')    
    return s

print(topy(g))

print(topy(h))
Пример #10
0
from lcapy import s, sympify, j, sqrt

zeta = sympify('zeta_', real=True)
omega0 = sympify('omega0', real=True)

p1a = -zeta * omega0 + j * omega0 * sqrt(1 - zeta**2)
p1b = -zeta * omega0 - j * omega0 * sqrt(1 - zeta**2)

alpha1 = sympify('alpha_1', real=True)
omega1 = sympify('omega_1', real=True)

p1a = -alpha1 + j * omega1
p1b = -alpha1 - j * omega1

H = p1a * p1b / ((s - p1a) * (s - p1b))

G = H / s

g = G.partfrac().inverse_laplace(causal=True)
h = H.partfrac().inverse_laplace(causal=True)


def topy(expr):

    s = str(expr)
    s = s.replace('**', '^').replace('_', '').replace('*', ' * ').replace(
        '^', '**').replace('Heaviside(t)', '(t >= 0)').replace('/', ' / ')
    return s


print(topy(g))
Пример #11
0
from lcapy import s, sympify, j

a1 = sympify('alpha')
b1 = sympify('beta_')
H = a1 * (s + b1) / (b1 * (s + a1))

G = H / s

g = G.partfrac().inverse_laplace(causal=True)
h = H.partfrac().inverse_laplace(causal=True)


def topy(expr):

    s = str(expr)
    s = s.replace('**', '^').replace('_', '').replace('*', ' * ').replace(
        '^', '**').replace('Heaviside(t)', '(t >= 0)')
    return s


print(topy(g))

print(topy(h))
Пример #12
0
from lcapy import s, sympify, j

alpha1 = sympify('alpha_1')
omega1 = sympify('omega_1')

alpha2 = sympify('alpha_2')

s1a = alpha1 + j * omega1
s1b = alpha1 - j * omega1
s2 = alpha2

H = 1 / ((s - s1a) * (s - s1b) * (s - s2))

h = H.inverse_laplace()