일정하지 않은 계수를 유한 볼륨 1 차 상향식 체계로 어떻게 처리해야합니까?


11

보존 형태의 대류 방정식으로 시작합니다.

ut=(a(x)u)x

여기서 ( X는 ) 공간에 의존하는 속도이고, u는 보존 된 종의 농도이다.a(x)u

플럭스 분리 (플럭스 는 메쉬 포인트 사이의 셀 가장자리에 정의) u t = 1f=a(x)u

ut=1h(fj12fj+12)

1 차 상향식을 사용하여 플럭스를

부여 Ut=1

fj12=a(xj12)uj1fj+12=a(xj+12)uj
ut=1h(a(xj12)uj1a(xj+12)uj)

경우 ( x는 ) 일정이었다 다음이 익숙한 풍상 체계의 예를 줄일 수, U t =a(x).ut=ah(uj1uj)

내 질문은, 우리는 어떻게 대류 방정식 의 비 상수 계수를 처리 할 수 있습니까? 속도는 셀 중심에서 정의되므로 간단한 접근 방식은 다음과 같습니다.

a(xj12)a(xj1)a(xj+12)a(xj)

구현하기가 매우 간단하기 때문에 이것이 내가 선호하는 방법입니다.

그러나 우리는 또한 셀 가장자리에 속도를 정의하기 위해 (내가 추측입니다) 평균화 방식을 사용할 수, ( X J - 1

a(xj12)12a(xj1)+12a(xj)a(xj+12)12a(xj)+12a(xj+1)

에서 LEVEQUE의 책 그는 말한다

a(x)ajaj12

그러나 그는 그 이후로 너무 정교하지 않습니다. 일반적인 접근법은 무엇입니까?

보존 문제를 해결하고 있는데 (이류 방정식을 연속성 방정식으로 사용하고 있습니다) 따라서 분할 특성을 적용한 후 보존 속성이 보존되도록해야합니다. 이 변수 계수에 관한 숨겨진 놀라움을 피하고 싶습니다! 누구든지 일반적인 의견과 지침이 있습니까?


업데이트 아래에는 두 가지 좋은 답변이 있으며 하나만 선택할 수 있습니다.

답변:


4

a

가장 중요한 것은 (이미 귀하의 질문에서 이미 언급 한) 이산화 시스템은 여전히 ​​보수적이라는 것입니다. 당신의 계획이 양식으로 작성 될 수 있다면

ujt=Fj12(uj1,uj)Fj+12(uj,uj+1)

그런 다음 보수적이어야합니다.

tudx=jujtδx=j(Fj12Fj+12)δx=(F12FN+12)δx

속도가 항상 양수인 경우 셀 간 속도를 셀 인터페이스에서 정의하기 위해 셀 간 속도를 평균화하는 것처럼 간단한 접근 방식이 제대로 작동해야합니다. 또한 평균화가 더 높은 정확도를 가져다 줄 것이라고 생각하지 않으므로 간단한 방법을 선호하는 것이 옳습니다.

속도를 풀고 방정식 시스템을 가지고 있다면 더 조심해야 할 수도 있습니다. 마찬가지로 비선형 쌍곡선 PDE를 해결하고 플럭스 리미터를 사용하는 경우에는 더욱 신중해야합니다.

그러나 쌍곡선 PDE 시스템의 경우 엇갈린 격자를 사용하면 인공 분산 / 확산이 실질적으로 개선 될 수 있습니다 . 더 알고 싶다면 Arakawa C-grids를 보거나이 책의 4 장을 확인하십시오 .


설명해 주셔서 감사합니다. 그리고 직감이 맞습니다. 방정식 중 하나가 속도 (다른 변수의 PDE) 인 방정식 시스템을 풀고 있습니다. 방정식 시스템 은 1D에만 해당되며, 지수 피팅과 함께 적응 형 1 차 상향식 방법 (2 차 중심과 상향 방향을 전환 할 수 있음)을 사용할 계획입니다. 플럭스 리미터를 사용하지 않지만 시스템은 비선형입니다. 이 상황에서 "보다 신중해야"합니까?
boyfarrell 2016 년

충격파 등이 형성 될 것으로 예상되는 경우, 일부 지역에서 속도가 0 미만으로 떨어질 가능성이 있거나, Courant-Friedrichs-Lewy 조건을 무시할 정도로 속도가 높아질 수있는 경우에 모두 다릅니다. 어느 시점에서. 즉, 간단한 접근 방식을 먼저 시도하여 작동하는지 확인하고 잘 수행 할 수 있습니다. 그것이 실패한다면, 그것은 훌륭하고 모호하지 않게 될 것이므로, 당신은 당신의 레이더 아래에 잘못된 미끄러짐이 있다고 걱정할 필요가 없다고 생각합니다.
Daniel Shapero

예 , 도메인의 중심 에서만 속도가 0이 아닌 것으로 예상 한 다음 중심에서 멀어 질수록 빠르게 0에 접근합니다. CFL 조건이 충족되도록 (최대 속도 사용) 메쉬가 고정되도록 시간 단계를 선택하고 있습니다. 충격파의 기준은 무엇입니까? 나는 그것을보고 기대하지 않습니다 (그러나 당신은 알지 못합니다).
boyfarrell

5

a(x)

내가 일관성있게 의미 하는 것은 보간이 만족시켜야 하는 유일한 조건은

ai+1/2+=ai+1/2

다시 말해, 보간 방법이 셀 경계에 걸쳐 연속적인 한 , 이산화는 보수적 인 상태를 유지하게됩니다.

이것은 1D에서 큰 문제처럼 보이지 않을 수도 있지만 다중 레벨 AMR 그리드의 거친 인터페이스에서 문제를 일으킬 수 있습니다.


uj+12a(xj+12)a(xj+12)a(xj+1)uj+12

@boyfarrell이 방법은 보수적 인 것으로 남아 있다는 점에서 괜찮을 것입니다. 그러나 솔루션의 정확성에 영향을 미칩니다. 종종, 예를 들어 ENO 방식에서, 속도와 솔루션이 아닌 전체 플럭스 함수에 근접합니다.
GradGuy 2016 년

4

a(xj12)

이것이 왜 그런지 보려면 보수주의 분석 정의가

tDu(x)dx=Da(x)u(x)dS,

D

우리의 이산화가 형식이라면

ut(xj)=1h(a(xj12)uj12a(xj+12)uj+12)

x1,,xnD=[c,d]c=x12d=xn+12

1hj=1n(a(xj12)uj12a(xj+12)uj+12)=a(x12)u12a(xn+12)un+12,

uj12=uj1uj+12=uja(x)u

a(x)a(xjr),,a(xj+s)a(xj12)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.