편미분 방정식 풀이 시스템
• numol(x_endpts, xpts, t_endpts, tpts, num_pde, num_pae, pde_func, pinit, bc_func)
pde_func의 1차원 PDE(편미분 방정식)에 대한 해가 포함된 [xpts x tpts] 행렬을 구합니다. 각 열은 풀이될 때마다 1차원 공간에 대해 구한 해를 나타냅니다. 방정식 시스템의 경우 각 함수의 해는 가로로 추가되므로 이 행렬의 행 수는 항상 xpts개이고 열 수는 항상 tpts * (num_pde + num_pae)개입니다. 해는 선형적 수치 해석 방법을 사용하여 구합니다.
인수
• x_endpts, t_endpts는 적분 영역의 끝점(실수)을 지정하는 요소가 두 개인 열 벡터입니다.
• xpts, tpts는 해의 근사치를 구할 적분 영역의 점 수(정수)입니다.
• num_pde, num_pae는 각각 편미분 방정식 및 편대수 방정식(PAE)의 수(정수)입니다. num_pde는 1 이상이어야 하며 num_pae는 0 이상일 수 있습니다.
• pde_func는 길이 (num_pde + num_pae)인 x, t, u, ux 및 uxx의 벡터 함수입니다. 이 함수에는 PDE/PAE의 우변이 포함되며 좌변은 모두 ut로 간주합니다. 해 u는 함수의 벡터로 간주됩니다.
PDE 시스템으로 작업하는 경우 pde_func에서 각 행의 각 u는 지수 연산자를 사용하는 아래 첨자와 문자식 아래 첨자 연산자로 정의합니다. 예를 들어, u[0은 시스템의 첫 번째 함수를 가리키고 ux[1은 시스템의 두 번째 함수에 대한 1차 도함수를 가리킵니다.
• pinit는 시스템의 각 함수에 대한 초기 조건이 포함된, 길이가 (num_pde + num_pae)인 x의 벡터 함수입니다.
• bc_func는 형식이 다음과 같은 행이 포함된 num_pde * 3 행렬입니다.
디리클레 경계 조건의 경우
|
[bc_left(t)
|
bc_right(t)
|
"D"]
|
또는
노이만 경계 조건의 경우
|
[bc_left(t)
|
bc_right(t)
|
"N"]
|
◦ 해당 행에 대한 PDE에 2차 편도함수가 포함된 경우에는 왼쪽 조건과 오른쪽 조건이 둘 다 필요합니다.
◦ 특정 PDE에 1차 편도함수만 있는 경우에는 둘 중 하나의 경계 조건 함수를 "NA"로 대체해야 하며 행의 마지막 항목이 항상 "D."여야 합니다.
◦ 시스템의 특정 방정식에 대한 편도함수가 없는 경우에는 행렬의 해당 행이 무시되며 ("NA" "NA" "D")로 채울 수 있습니다.
추가 정보
• 모든 x에 대해 0 = u2(x) + v2(x) − w(x)와 같은 대수 제약 조건이 허용됩니다.
• 필요한 경계 함수의 수는 각 PDE에 대한 공간 도함수의 차수와 일치하며 고유한 해를 보장합니다.
• numol을 사용하면 쌍곡선 및 포물선 PDE만 풀이할 수 있습니다. 포아송(Poisson) 방정식과 같은 타원 방정식인 경우에는
relax 또는
multigrid를 사용합니다.