pdepe
1차원 포물선 및 타원 PDE 풀기
구문
설명
은 하나의 공간 변수 x와 시간 t에서 포물선 및 타원 PDE로 구성된 연립방정식을 풉니다. 최소 하나 이상의 방정식이 포물선 방정식이어야 합니다. 스칼라 sol
= pdepe(m
,pdefun
,icfun
,bcfun
,xmesh
,tspan
)m
은 문제의 대칭성을 나타냅니다(슬래브, 원통 또는 구면). 풀려는 방정식은 pdefun
에 코딩되고 초기값은 icfun
에 코딩되며 경계 조건은 bcfun
에 코딩됩니다. 공간을 이산화할 때 생성되는 상미분 방정식(ODE)은 적분되어, tspan
에 지정한 시간에서 근사해를 얻게 됩니다. pdepe
함수는 xmesh
에서 제공한 메시에 대한 해의 값을 반환합니다.
[
는 이벤트 함수라고 하는 (t,u(x,t))의 함수가 0인 위치도 찾습니다. 출력값에서 sol
,tsol
,sole
,te
,ie
] = pdepe(m
,pdefun
,icfun
,bcfun
,xmesh
,tspan
,options
)te
는 이벤트 발생 시간이고, sole
는 이벤트 발생 시 계산된 해이며, ie
는 트리거된 이벤트의 인덱스입니다. tsol
은 tspan
에 지정한 시간 중에서 첫 번째 종료 이벤트 이전에 해당하는 시간의 열 벡터입니다.
각 이벤트 함수에 대해, 0에서 적분을 종료할지 여부와 영점교차의 방향을 고려할지 여부를 지정합니다. 이를 수행하려면 odeset
의 Events
옵션을 함수(예: @myEventFcn
)로 설정하고 대응 함수 [value
,isterminal
,direction
] = myEventFcn
(m
,t
,xmesh
,umesh
)를 생성합니다. xmesh
입력값은 공간 메시를 포함하고 umesh
는 메시 점에서 구한 해입니다.
예제
입력 인수
출력 인수
팁
uji = sol(j,:,i)
가 시간tspan(j)
와 메시 점xmesh
에서 구한 해의 성분i
를 근사하면,pdeval
은 점으로 구성된 배열xout
에서 이러한 근사 및 그 편도함수 ∂ui/∂x의 값을 계산해uout
과duoutdx
에 다음과 같이 반환합니다.[uout,duoutdx] = pdeval(m,xmesh,uji,xout)
.pdeval
함수는 플럭스가 아니라 편도함수 ∂ui/∂x를 계산합니다. 플럭스는 연속적이지만, 물질의 경계면에서는 편도함수에 비약이 있을 수 있습니다.
알고리즘
ode15s
솔버로 시간 적분이 수행됩니다. pdepe
는 ode15s
의 기능을 활용하여, PDE에 타원 방정식이 포함되어 있을 때 제기되는 미분대수 방정식(DAE)을 풀고 지정된 희소성 패턴을 갖는 야코비 행렬을 처리합니다.
이산화 후에는 타원 방정식에서 대수 방정식이 생성됩니다. 타원 방정식에 해당하는 초기 조건 벡터의 요소가 이산화를 수행한 후 일관되지 않을 경우 pdepe
는 시간에 대한 적분을 시작하기 전에 이러한 요소를 조정하려고 합니다. 이러한 이유로, 초기 시간에 대해 반환되는 해에는 기타 모든 시간에 비해 이산화 오차가 있을 수 있습니다. 메시가 충분히 세밀한 경우 pdepe
는 지정된 값에 가까운 모순 없는 초기 조건을 구할 수 있습니다. pdepe
가 모순 없는 초기 조건을 구하기 어렵다는 메시지를 표시하면 메시를 더 세밀하게 조정해 보십시오. 포물선 방정식에 해당하는 초기 조건 벡터의 요소는 조정이 필요하지 않습니다.
참고 문헌
[1] Skeel, R. D. and M. Berzins, "A Method for the Spatial Discretization of Parabolic Equations in One Space Variable," SIAM Journal on Scientific and Statistical Computing, Vol. 11, 1990, pp.1–32.