Все решения PDE, подобные этому, в конечном итоге будут выражаться с использованием линейной алгебры в вашей программе, поэтому задача состоит в том, чтобы выяснить, как ввести PDE в эту форму перед началом кодирования.
Методы конечных элементов обычно начинаются с взвешенного остаточного метода.Нелинейные уравнения потребуют линейного приближения и итерационных методов, таких как Ньютон-Рафсон.Я бы порекомендовал вам начать там.
Ваше решение является временным, поэтому вам придется делать шаг вперед.Вы можете использовать явный метод и жить с небольшими временными шагами, которые потребуют пределы стабильности, или неявным методом, который заставит вас делать инверсию матрицы на каждом шаге.
Я бы сделал анализ Фурьепервый из линейного фрагмента, чтобы получить представление о требованиях к стабильности.
Единственный член в этом уравнении, который делает его нелинейным, - последний: -u ^ 3.Пытались ли вы начать с отказа от этого термина и решения оставшегося линейного уравнения?
ОБНОВЛЕНИЕ: Некоторые дополнительные мысли, вызванные комментариями:
Я понимаю, насколько важен термин u^3
.Диффузия является производной 2-го порядка по пространству, поэтому я не был бы настолько уверен, что уравнение 6-го порядка последует ее примеру.Мой опыт работы с PDE основан на разделах физики, в которых нет уравнений 6-го порядка, поэтому я, честно говоря, не знаю, как может выглядеть решение.Я бы сначала решил линейную задачу, чтобы почувствовать ее.
Что касается стабильности и явных методов, то догма состоит в том, что ограничения стабильности, установленные для размера временного шага, делают их вероятными неудачами, но вероятность не равна 1,0.Я думаю, что сокращение карт и облачные вычисления могут сделать явное решение более жизнеспособным, чем это было даже 10-20 лет назад.Явная динамика стала основным способом решения сложных статических задач, потому что они не требуют обращения матрицы.