Table of Contents
부분적인 차별 방정식 (PDEs)는 열 이동 파 전파 전파 전파 전파 전파 전파 전파, 유체 동적과 같은 다양한 물리적 현상을 모델링하는 근본적입니다. NumPy와 SciPy와 같은 Python 라이브러리를 사용하여이 방정식이 핵으로 해결하는 과정을 단순화합니다. 이 문서는 이러한 도구로 PDE를 해결하는 단계별 접근 방식을 제공합니다.
문제 설정
PDE 및 도메인 정의에 의해 시작. 예를 들어, 1 차원 열 방정식을 고려:
∂u/∂t = α ∂2u/∂x2
초기 조건, 경계 조건 및 열 확산과 같은 매개 변수를 지정 ]α].
도메인의 공개
NumPy arrays를 사용하여 공간 도메인을 분리하십시오. 예를 들어, 포인트의 그리드를 생성합니다.
np로 numpy]
x = np.linspace(0, 1, 100)]
시간 단계 및 총 시뮬레이션 시간을 설정하여 수치 안정성과 정확성을 제어합니다.
Numerical 방법 구현
finite difference 메소드를 사용하여 대략적인 파생물에 대해 사용합니다. 열 방정식의 경우, 명시된 계획은 각 점에서 온도를 업데이트합니다.
u new = u + r * (u[i+1] - 2*u[i] + u[i-1])
여기서 r]는 α * dt / dx2로 계산된 안정성 파라미터입니다.
심볼을 실행
시간 단계에 걸쳐, 각 반복에 해결책 배열을 새롭게 하기. 효율성을 위한 NumPy 가동을 사용하십시오:
]범위에 n을 위해(단계):
u[1:-1] = u[1:-1] + r * (u[2:] - 2*u[1:-1] + u[:-2])
문제 제약을 유지하기 위해 각 업데이트 후 경계 조건을 적용합니다.
결과 표시
Matplotlib와 같은 라이브러리를 사용하여 온도 분포를 시각화합니다. 초기 및 최종 상태를 뽑아 확산 과정을 관찰합니다.
예시 코드:
import matplotlib.pyplot 를 plt]로 변경
plt.plot(x, u)