bogumilchilinski / dynpy

MIT License
7 stars 0 forks source link

Implementation of `ODESystemSubtractionComponent` class that creates a part of a report #737

Open Danielstryjewski opened 1 month ago

Danielstryjewski commented 1 month ago

Class is to implement in ode.pl.py module that is a reporting component which reports result of subtracting two ODESystem classes.

Danielstryjewski commented 1 month ago

Call Code:

from dynpy.utilities.components.mechanics import ReportComponent, ODESystemOperations
from dynpy.utilities.components.ode.pl import *

t = Symbol('t')

m = Symbol('m',postive=True)
g = Symbol('g',postive=True)
c = Symbol('c',postive=True)

alpha = Symbol('alpha', positive=True)
v0 = Symbol('v_0',postive=True)

x,y = Function('x')(t), Function('y')(t)

ode_test = ODESystem(odes=Matrix([m * x.diff(t,t)]), dvars=Matrix([x]), odes_rhs=Matrix([- c * x.diff(t) - m * x.diff(t,t) ], ode_order=2))
ode_test2 = ODESystem(odes=Matrix([m * x.diff(t,t)]), dvars=Matrix([x]), odes_rhs=Matrix([- 2 * c * x.diff(t) - m * x.diff(t,t) ], ode_order=2))

ODESystemSubtractionComponent(ode_test)
ODESystemSubtractionComponent((ode_test, ode_test2))