आप बड़े पैमाने पर संरक्षण समीकरण देख रहे हैं:
घमीटरघटी= 0
प्रति इकाई आयतन पर बड़े पैमाने पर विकास पर विचार करते समय, यह प्रवाह रूप में घनत्व संवहन समीकरण को उबालता है:
∂ρ∂टी= - ∇ ⋅ ( ρ यू )
इसके बारे में अच्छी बात यह है कि यह एक मनमाना स्केलर क्षेत्र का सिर्फ एक समीकरण है (हमारे मामले में, यह घनत्व के लिए होता है) ) और इसे हल करना (अपेक्षाकृत) आसान है, बशर्ते पर्याप्त समय और स्थान अलग-अलग योजनाएं, और प्रारंभिक। सीमा की स्थिति।ρ
एक अलग-अलग योजना बनाते समय, हम अभिसरण, स्थिरता और सटीकता के बारे में चिंता करते हैं। एक योजना अगर converging है जबΔटी→0। योजनाओं की स्थिरता यह सुनिश्चित करती है कि मात्राA कापरिमित बना रहे जबt→ensures। योजना की औपचारिक सटीकता बताती है कि टेलर की श्रृंखला में आंशिक व्युत्पन्न झूठ में छंटनी की त्रुटि कहाँ है। एक अलग योजना के इन मूलभूत गुणों के बारे में अधिक जानकारी के लिए CFD पाठ्यपुस्तक देखें।Δ एΔ टी→ ∂ए∂टीΔ टी → 0एt → ∞
अब, सबसे सरल दृष्टिकोण सीधे 1 क्रम अपस्ट्रीम विभेदक पर जाना है। यह योजना सकारात्मक-निश्चित, रूढ़िवादी और कम्प्यूटेशनल रूप से कुशल है। पहले दो गुण विशेष रूप से महत्वपूर्ण हैं जब हम एक मात्रा के विकास को मॉडल करते हैं जो हमेशा सकारात्मक होता है (अर्थात द्रव्यमान या घनत्व)।
सादगी के लिए, आइए 1-डी मामले को देखें:
∂ρ∂टी= - ∂( एल यू यू )∂एक्स
अब यह सुविधाजनक प्रवाह को परिभाषित करने के लिए है , ताकि:Φ = ρ यू
∂( एल यू यू )∂एक्स= ∂Φ∂एक्स≈ Δ ΦΔ x≈ Φमैं + 1 / 2- Φमैं - १ / २Δ x
Here's a schematic of what we are simulating:
u u
| --> --> |
| rho | rho | rho |
x-----o-----x-----o-----x-----o-----x
i-1 i-1/2 i i+1/2 i+1
We are evaluating the evolution of ρ at cell i. The net gain or loss comes from the difference of what comes in, Φi−1/2 and what goes out, Φi+1/2. This is where we start to diverge from Paul's answer. In true conservative upstream differencing, the quantity at the cell center is being carried by velocity at its cell edge, in the direction of its motion. In other words, if you imagine you are the advected quantity and you are sitting at the cell center, you are being carried into the cell in front of you by the velocity at the cell edge. Evaluating the flux at the cell edge as a product of density and velocity, both at the cell edge, is not correct and does not conserve the advected quantity.
Incoming and outgoing fluxes are evaluated as:
Φi+1/2=ui+1/2+|ui+1/2|2ρi+ui+1/2−|ui+1/2|2ρi+1
Φi−1/2=ui−1/2+|ui−1/2|2ρi−1+ui−1/2−|ui−1/2|2ρi
The above treatment of flux differencing ensures upstream-definiteness. In other words, it adjusts the differencing direction according to the sign of velocity.
The Courant-Friedrichs-Lewy (CFL) stability criterion, when doing time differencing with simple first order, forward Euler differencing is given as:
μ=uΔtΔx≤1
Note that in 2 dimensions, the CFL stability criterion is more strict:
μ=cΔtΔx≤12–√
where c is velocity magnitude, u2+v2−−−−−−√.
Some things to consider. This scheme may or may not be appropriate for your application depending on what kind of process you are simulating. This scheme is highly diffusive, and is appropriate for very smooth flows without sharp gradients. It is also more diffusive for shorter time steps. In the 1-D case, you will obtain an almost exact solution if the gradients are very small, and if μ=1. In the 2-D case, this is not possible, and diffusion is anisotropic.
If your physical system considers shock waves or high gradients of other sort, you should look into upstream differencing of higher order (e.g. 3rd or 5th order). Also, it may be worthwhile looking into the Flux Corrected Transport family of schemes (Zalesak, 1979, JCP); anti-diffusion correction for the above scheme by Smolarkiewicz (1984, JCP); MPDATA family of schemes by Smolarkiewicz (1998, JCP).
For time differencing, 1st order forward Euler differencing may be satisfactory for your needs. Otherwise, look into higher-order methods such as Runge-Kutta (iterative), or Adams-Bashforth and Adams-Moulton (multi-level).
It would be worthwhile looking into some CFD graduate-level textbook for a summary of above mentioned schemes and many more.