Переоценка решения МКЭ (Python, skfem)Python

Программы на Python
Ответить
Anonymous
 Переоценка решения МКЭ (Python, skfem)

Сообщение Anonymous »

Я пытаюсь решить дифференциальное уравнение -y''(x) + y(x) = 2 + x - x^2, с неоднородными граничными условиями: y'(0) = 1, y'(1 )=-1, методом конечных элементов, с использованием кусочно-линейных базисных функций. Я использую пакет skfem в Python. Моя проблема в том, что решение FEM переоценивает решение за пределами границы. Я не уверен, связана ли проблема с моим кодом или этого следует ожидать.
# nodes N
N = 6

mesh = MeshLine(np.linspace(0, 1, N))
e = ElementLineP1()
basis= Basis(mesh, e)

@fem.BilinearForm
def a(u,v, _):
return dot( grad(u), grad(v) ) + dot(u, v)

@fem.LinearForm
def l(v, w):
x = w.x
f = 2 + x - x**2
return dot(f,v)

A = a.assemble(basis)
b = l.assemble(basis)

D = basis.get_dofs()

z = fem.solve(*fem.condense(A, b, D=D))



Подробнее здесь: https://stackoverflow.com/questions/791 ... thon-skfem
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»