드리프트-확산 모델에서 시작하여 교육 학적 목적으로 기본 반도체 모델을 시뮬레이션하려고합니다. 상용 반도체 시뮬레이터를 사용하고 싶지는 않지만 다른 (일반적이거나 최근이거나 모호한) 모델을 배우고 있지만 상용 PDE 솔버를 사용하고 싶습니다.
그러나 간단한 1D 사례의 경우에도 드리프트-확산 모델은 여러 개의 결합 된 비선형 PDE로 구성됩니다.
전류 밀도 방정식 J p = q p ( x ) μ p E ( x ) + q D p ∇ p
연속성 방정식 ∂p
포아송 방정식
및 다수의 경계 조건.
나는 파이썬 FEM 솔버, FEniCS / Dolfin 및 SfePy 를 시도했지만 테스트 기능을 사용하여 약한 변형 형태로 그것들을 공식화 할 수 없기 때문에 운이 없습니다.
물론 수치 솔루션을 처음부터 구현하는 옵션이 있지만 아직 FEM / Numerical을 깊이 연구하지 않았으므로 수치 문제로 압도되고 싶지 않은 유일한 옵션이 아니길 바랍니다.
그렇다면 이러한 방정식을 가져 와서 해결할 수있는 패키지 (오픈 오픈 소스)가 있습니까? 아니면 도구에 필요한 변형 형식이 어렵지 않습니까? 어쨌든 내 옵션은 무엇입니까?
감사
편집 : FEniCS / Dolfin 또는 SfePy의 약한 변형 형식을 작성하려고합니다.
3 개의 PDE (Poisson + J가 치환 된 2 개의 연속 방정식)를 사용하여 V, n 및 p를 찾습니다. 푸 아송 방정식 (테스트 함수 )은 간단합니다. 그러나 연속성 방정식으로 어려움을 겪고 있습니다.
두 번째 PDE (strong form) 여기서 는 상수, 는 스칼라 함수입니다
하자 두 번째 PDE에 대한 나타낸다 테스트 함수를. 그때
특히 걱정스러운 요소는
그러나 는 벡터이고 은 스칼라입니다. 그런 다음 ID
V는 푸 아송 방정식에 의해 해결되므로 소프트웨어 Dolfin / FEniCS에서 허용 된대로 최근 계산 된 값을 사용하고이 두 번째 결합 방정식에서 V를 처리하는 방법을 단순화 할 수 있습니까? 이런 종류의 기술은 분별하는 동안 작동합니다 (예 : Gummel, ...).이 준비된 솔버에서는하지 않습니다!
또한 경계 조건은 not 과 관련하여 제공됩니다 . 어떻게 구현합니까? 이 V와 n에 의해 결정 되더라도 5 개의 변수 합니까? n J n , J p , n , p , V J n