2D Heat Equation Mathematica не решается аналитически (DSolve) или численно (NDsolve), что я делаю неправильно?

моя цель - решить следующее двумерное уравнение теплопроводности вместе с начальными и граничными условиями:

pde = D[u[x, y, t], t] == (c^2)*(D[u[x, y, t], {x, 2}] + D[u[x, y, t], {y, 2}]);

ic = {u[x,y,0] == 0};
bc = {Derivative[1, 0, 0][u][0, y, t] == k, u[x, 0, t] == 0, u[x, b, t] == 0, 
u[a, y, t] == 0};

...но что-то всегда идет не так, когда я ввожу

sol = DSolve[{pde, bc, ic}, u[x, y, t], {x, y, t}]

Я попытался немного изменить условия, чтобы увидеть, является ли это проблемой для математики, и иногда это работает (пример этого парня). Я подозреваю, что с производной что-то не так, но я пытался использовать D[u[x,y,t],x]./x->0 == k, но это все равно не работает. Можно ли вообще решить это в Mathematica?


person Daniel Guedes    schedule 24.09.2018    source источник
comment
Ой! Просто для ясности: это двумерное уравнение теплопроводности стержня размером [axb], который непрерывно нагревается слева со скоростью k, то есть изначально имеет температуру 0, а верхняя, нижняя и правая стороны поддерживаются при температура тоже 0.   -  person Daniel Guedes    schedule 24.09.2018
comment
Вы можете посмотреть на каждый из них и посмотреть, найдете ли вы что-то, что поможет вам. mathematica.stackexchange.com/search?q=dsolve+heat+equation   -  person Bill    schedule 24.09.2018
comment
Спасибо, но я уже сделал это, прежде чем писать, там ничего нет...   -  person Daniel Guedes    schedule 24.09.2018
comment
Я бы предложил NDSolve, например. NDSolveValue[{de, bc, ic}, u, {x, 0, a}, {y, 0, b}, {t, 0, 10}]. Конечно, a и b должны иметь числовые значения.   -  person Szabolcs    schedule 26.09.2018