How do I add the Initial and Boundary Conditions to the following Python code for the Heat-Diffusion Equation: uxx + (1 – x)sin(t) = utt, with boundary conditions u(0, t) = 0, u(1, t) = 0, for t > 0, and u(x, 0) = 0, for 0 < x < 1?
The code is:
from sympy import *
x, y, z, t = symbols('x y z t')
k, m, n = symbols('k m n', integer=True)
f, g, h = symbols('f g h', cls=Function) import numpy as np
import matplotlib.pyplot as plt
from sympy import init_printing
init_printing()
integrate(x)
from sympy import Function, dsolve, Eq, integrate, Derivative, sin, cos, symbols
from sympy.solvers.pde import pdsolve
from sympy import Function, diff, Eq
from sympy.abc import x, y, a, b, A, B, C, L
# Solve the Heat-Diffusion Equation uxx + (1 – x)sin(t) = utt, with boundary
# conditions u(0, t) = 0, u(1, t) = 0, for t > 0, and u(x, 0) = 0, for
# 0 < x < 1 t, C1, C2= symbols("t C1 C2")
ux, ut = symbols('ux ut', cls=Function)
eq1 = ut(x).diff(x, x) + (1 - x)*sin(t)
eq2 = ux(t).diff(t)
dsolve(eq1, ut(x))
dsolve(eq2, ux(t)) utsol = dsolve(eq1, ut(x)).subs(Symbol("C"), Function("Cx")(b))
utsol
eq2.subs(*utsol.args).doit()
uxsol = dsolve(eq2.subs(*utsol.args).doit(), ux(t)).subs(Symbol("C"), Function("Ct")(a))
display(uxsol)
print(uxsol)
display(utsol)